@allxsmith/bestax-bulma 1.0.13 → 1.1.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.cjs.js +9 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +9 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/types/elements/Skeleton.d.ts +8 -0
- package/dist/types/elements/SubTitle.d.ts +1 -0
- package/dist/types/elements/Title.d.ts +1 -0
- package/dist/types/helpers/useBulmaClasses.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../node_modules/react/cjs/react-jsx-runtime.production.js","../../node_modules/react/cjs/react-jsx-runtime.development.js","../../node_modules/react/jsx-runtime.js","../src/helpers/classNames.ts","../src/helpers/useBulmaClasses.tsx","../src/columns/Column.tsx","../src/columns/Columns.tsx","../src/components/Breadcrumb.tsx","../src/components/Card.tsx","../src/components/Dropdown.tsx","../src/components/Menu.tsx","../src/components/Message.tsx","../src/components/Modal.tsx","../src/components/Navbar.tsx","../src/components/Pagination.tsx","../src/components/Panel.tsx","../src/components/Tabs.tsx","../src/elements/Block.tsx","../src/elements/Box.tsx","../src/elements/Button.tsx","../src/elements/Buttons.tsx","../src/elements/Content.tsx","../src/elements/Delete.tsx","../src/elements/Icon.tsx","../src/elements/IconText.tsx","../src/elements/Image.tsx","../src/elements/Notification.tsx","../src/elements/Progress.tsx","../src/elements/SubTitle.tsx","../src/elements/Table.tsx","../src/elements/Tag.tsx","../src/elements/Tags.tsx","../src/elements/Tbody.tsx","../src/elements/Td.tsx","../src/elements/Tfoot.tsx","../src/elements/Th.tsx","../src/elements/Thead.tsx","../src/elements/Title.tsx","../src/elements/Tr.tsx","../src/form/Checkbox.tsx","../src/form/Checkboxes.tsx","../src/form/Control.tsx","../src/form/Field.tsx","../src/form/File.tsx","../src/form/Input.tsx","../src/form/Radio.tsx","../src/form/Radios.tsx","../src/form/Select.tsx","../src/form/TextArea.tsx","../src/grid/Cell.tsx","../src/grid/Grid.tsx","../src/layout/Container.tsx","../src/layout/Footer.tsx","../src/layout/Hero.tsx","../src/layout/Level.tsx","../src/layout/Media.tsx","../src/layout/Section.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n \"react-stack-bottom-frame\": function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React[\"react-stack-bottom-frame\"].bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * Returns a space-separated string of class names based on input arguments.\n *\n * Accepts any mix of strings, numbers, arrays, or objects. Falsy values are ignored.\n * Array and object values are recursively flattened, and object keys are included\n * if their value is truthy. Duplicate class names are removed.\n *\n * @param {...(string | number | undefined | null | false | Record<string, unknown> | unknown[])} args - Class values to join.\n * @returns {string} A space-separated string of unique class names.\n *\n * @example\n * classNames('foo', ['bar', { baz: true }], { qux: false, quux: true });\n * // => 'foo bar baz quux'\n */\nexport function classNames(\n ...args: (\n | string\n | number\n | undefined\n | null\n | false\n | Record<string, unknown>\n | unknown[]\n )[]\n): string {\n const classSet = new Set<string>();\n\n function process(\n item:\n | string\n | number\n | undefined\n | null\n | false\n | Record<string, unknown>\n | unknown[]\n ) {\n if (item === undefined || item === null || item === false || item === '') {\n return;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n for (const cls of String(item).split(/\\s+/)) {\n if (cls) classSet.add(cls);\n }\n } else if (Array.isArray(item)) {\n for (const sub of item as (\n | string\n | number\n | undefined\n | null\n | false\n | Record<string, unknown>\n | unknown[]\n )[])\n process(sub);\n } else if (typeof item === 'object') {\n for (const key in item) {\n if (Object.prototype.hasOwnProperty.call(item, key) && item[key]) {\n for (const cls of key.split(/\\s+/)) {\n if (cls) classSet.add(cls);\n }\n }\n }\n }\n }\n\n for (const arg of args) {\n process(arg);\n }\n return Array.from(classSet).join(' ');\n}\n\nexport default classNames;\n","import { useMemo } from 'react';\nimport classNames from '../helpers/classNames';\n\n/**\n * Valid Bulma color classes.\n * @example 'primary', 'link', 'info'\n */\nexport const validColors = [\n 'primary',\n 'link',\n 'info',\n 'success',\n 'warning',\n 'danger',\n 'black',\n 'black-bis',\n 'black-ter',\n 'grey-darker',\n 'grey-dark',\n 'grey',\n 'grey-light',\n 'grey-lighter',\n 'white',\n 'light',\n 'dark',\n] as const;\n\n/**\n * Valid Bulma color shade suffixes.\n * @example '00', '05', 'invert'\n */\nexport const validColorShades = [\n '00',\n '05',\n '10',\n '15',\n '20',\n '25',\n '30',\n '35',\n '40',\n '45',\n '50',\n '55',\n '60',\n '65',\n '70',\n '75',\n '80',\n '85',\n '90',\n '95',\n 'invert',\n] as const;\n\n/**\n * Valid Bulma size classes for margins and paddings.\n * @example '0', '1', 'auto'\n */\nexport const validSizes = ['0', '1', '2', '3', '4', '5', '6', 'auto'] as const;\n\n/**\n * Valid Bulma text size classes.\n * @example '1', '2', '3'\n */\nexport const validTextSizes = ['1', '2', '3', '4', '5', '6', '7'] as const;\n\n/**\n * Valid Bulma text alignment classes.\n * @example 'centered', 'left', 'right'\n */\nexport const validAlignments = [\n 'centered',\n 'justified',\n 'left',\n 'right',\n] as const;\n\n/**\n * Valid Bulma text transformation classes.\n * @example 'capitalized', 'uppercase', 'italic'\n */\nexport const validTextTransforms = [\n 'capitalized',\n 'lowercase',\n 'uppercase',\n 'italic',\n] as const;\n\n/**\n * Valid Bulma text weight classes.\n * @example 'light', 'normal', 'bold'\n */\nexport const validTextWeights = [\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n] as const;\n\n/**\n * Valid Bulma font family classes.\n * @example 'sans-serif', 'monospace', 'code'\n */\nexport const validFontFamilies = [\n 'sans-serif',\n 'monospace',\n 'primary',\n 'secondary',\n 'code',\n] as const;\n\n/**\n * Valid Bulma display classes.\n * @example 'block', 'flex', 'inline'\n */\nexport const validDisplays = [\n 'block',\n 'flex',\n 'inline',\n 'inline-block',\n 'inline-flex',\n] as const;\n\n/**\n * Valid Bulma visibility classes.\n * @example 'hidden', 'sr-only'\n */\nexport const validVisibilities = ['hidden', 'sr-only'] as const;\n\n/**\n * Valid Bulma flex direction classes.\n * @example 'row', 'column', 'row-reverse'\n */\nexport const validFlexDirections = [\n 'row',\n 'row-reverse',\n 'column',\n 'column-reverse',\n] as const;\n\n/**\n * Valid Bulma flex wrap classes.\n * @example 'nowrap', 'wrap', 'wrap-reverse'\n */\nexport const validFlexWraps = ['nowrap', 'wrap', 'wrap-reverse'] as const;\n\n/**\n * Valid Bulma justify-content classes.\n * @example 'flex-start', 'center', 'space-between'\n */\nexport const validJustifyContents = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n 'start',\n 'end',\n 'left',\n 'right',\n] as const;\n\n/**\n * Valid Bulma align-content classes.\n * @example 'flex-start', 'center', 'stretch'\n */\nexport const validAlignContents = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n 'stretch',\n] as const;\n\n/**\n * Valid Bulma align-items classes.\n * @example 'stretch', 'flex-start', 'center'\n */\nexport const validAlignItems = [\n 'stretch',\n 'flex-start',\n 'flex-end',\n 'center',\n 'baseline',\n 'start',\n 'end',\n] as const;\n\n/**\n * Valid Bulma align-self classes.\n * @example 'auto', 'flex-start', 'center'\n */\nexport const validAlignSelfs = [\n 'auto',\n 'flex-start',\n 'flex-end',\n 'center',\n 'baseline',\n 'stretch',\n] as const;\n\n/**\n * Valid Bulma flex grow and shrink values.\n * @example '0', '1'\n */\nexport const validFlexGrowShrink = ['0', '1'] as const;\n\n/**\n * Valid Bulma viewport classes for responsive design.\n * @example 'mobile', 'tablet', 'desktop'\n */\nexport const validViewports = [\n 'mobile',\n 'tablet',\n 'desktop',\n 'widescreen',\n 'fullhd',\n] as const;\n\n/**\n * Props for applying Bulma helper classes to components.\n */\nexport interface BulmaClassesProps {\n /** Text color class (e.g., 'primary', 'info'). */\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n /** Background color class (e.g., 'primary', 'info'). */\n backgroundColor?: (typeof validColors)[number] | 'inherit' | 'current';\n /** Color shade suffix (e.g., '00', 'invert'). */\n colorShade?: (typeof validColorShades)[number];\n /** Margin (e.g., '0', '1'). */\n m?: (typeof validSizes)[number];\n /** Margin top. */\n mt?: (typeof validSizes)[number];\n /** Margin right. */\n mr?: (typeof validSizes)[number];\n /** Margin bottom. */\n mb?: (typeof validSizes)[number];\n /** Margin left. */\n ml?: (typeof validSizes)[number];\n /** Margin horizontal (left and right). */\n mx?: (typeof validSizes)[number];\n /** Margin vertical (top and bottom). */\n my?: (typeof validSizes)[number];\n /** Padding (e.g., '0', '1'). */\n p?: (typeof validSizes)[number];\n /** Padding top. */\n pt?: (typeof validSizes)[number];\n /** Padding right. */\n pr?: (typeof validSizes)[number];\n /** Padding bottom. */\n pb?: (typeof validSizes)[number];\n /** Padding left. */\n pl?: (typeof validSizes)[number];\n /** Padding horizontal (left and right). */\n px?: (typeof validSizes)[number];\n /** Padding vertical (top and bottom). */\n py?: (typeof validSizes)[number];\n /** Text size (e.g., '1', '2'). */\n textSize?: (typeof validTextSizes)[number];\n /** Text alignment (e.g., 'centered', 'left'). */\n textAlign?: (typeof validAlignments)[number];\n /** Text transformation (e.g., 'uppercase', 'italic'). */\n textTransform?: (typeof validTextTransforms)[number];\n /** Text weight (e.g., 'light', 'bold'). */\n textWeight?: (typeof validTextWeights)[number];\n /** Font family (e.g., 'sans-serif', 'code'). */\n fontFamily?: (typeof validFontFamilies)[number];\n /** Display type (e.g., 'block', 'flex'). */\n display?: (typeof validDisplays)[number];\n /** Visibility (e.g., 'hidden', 'sr-only'). */\n visibility?: (typeof validVisibilities)[number];\n /** Flex direction (e.g., 'row', 'column'). */\n flexDirection?: (typeof validFlexDirections)[number];\n /** Flex wrap (e.g., 'wrap', 'nowrap'). */\n flexWrap?: (typeof validFlexWraps)[number];\n /** Justify content (e.g., 'center', 'space-between'). */\n justifyContent?: (typeof validJustifyContents)[number];\n /** Align content (e.g., 'center', 'stretch'). */\n alignContent?: (typeof validAlignContents)[number];\n /** Align items (e.g., 'center', 'flex-start'). */\n alignItems?: (typeof validAlignItems)[number];\n /** Align self (e.g., 'auto', 'center'). */\n alignSelf?: (typeof validAlignSelfs)[number]; // Fixed typo\n /** Flex grow value (e.g., '0', '1'). */\n flexGrow?: (typeof validFlexGrowShrink)[number];\n /** Flex shrink value (e.g., '0', '1'). */\n flexShrink?: (typeof validFlexGrowShrink)[number];\n /** Float direction (e.g., 'left', 'right'). */\n float?: 'left' | 'right';\n /** Overflow behavior (e.g., 'clipped'). */\n overflow?: 'clipped';\n /** Applies overlay styling if true. */\n overlay?: boolean;\n /** Interaction behavior (e.g., 'unselectable', 'clickable'). */\n interaction?: 'unselectable' | 'clickable';\n /** Border radius style (e.g., 'radiusless'). */\n radius?: 'radiusless';\n /** Shadow style (e.g., 'shadowless'). */\n shadow?: 'shadowless';\n /** Responsive behavior (e.g., 'mobile', 'narrow'). */\n responsive?: 'mobile' | 'narrow';\n /** Viewport for responsive classes (e.g., 'mobile', 'desktop'). */\n viewport?: (typeof validViewports)[number];\n}\n\n/**\n * A hook that generates Bulma helper classes from props and separates unhandled props.\n *\n * @function useBulmaClasses\n * @param props - Combination of BulmaClassesProps and additional props.\n * @returns An object containing the Bulma helper classes and unhandled props.\n * @example\n * const { bulmaHelperClasses, rest } = useBulmaClasses({\n * color: 'primary',\n * textSize: '3',\n * className: 'custom-class'\n * });\n * // bulmaHelperClasses: 'has-text-primary is-size-3'\n * // rest: { className: 'custom-class' }\n */\nexport const useBulmaClasses = <T extends Record<string, unknown>>(\n props: BulmaClassesProps & T\n): { bulmaHelperClasses: string; rest: Omit<T, keyof BulmaClassesProps> } => {\n const {\n color,\n backgroundColor,\n colorShade,\n m,\n mt,\n mr,\n mb,\n ml,\n mx,\n my,\n p,\n pt,\n pr,\n pb,\n pl,\n px,\n py,\n textSize,\n textAlign,\n textTransform,\n textWeight,\n fontFamily,\n display,\n visibility,\n flexDirection,\n flexWrap,\n justifyContent,\n alignContent,\n alignItems,\n alignSelf,\n flexGrow,\n flexShrink,\n float,\n overflow,\n overlay,\n interaction,\n radius,\n shadow,\n responsive,\n viewport,\n ...rest\n } = props;\n\n const bulmaHelperClasses = useMemo(() => {\n const classes: string[] = [];\n\n // Helper to add class with optional viewport\n const addClass = (\n prefix: string,\n value: string | undefined,\n validValues: readonly string[]\n ) => {\n if (value && (!validValues.length || validValues.includes(value))) {\n const className =\n viewport && validViewports.includes(viewport)\n ? `${prefix}-${value}-${viewport}`\n : `${prefix}-${value}`;\n classes.push(className);\n }\n };\n\n // Color handling\n const addColorClass = (\n prefix: 'has-text' | 'has-background',\n value: string | undefined,\n shade: (typeof validColorShades)[number] | undefined\n ) => {\n if (!value || ![...validColors, 'inherit', 'current'].includes(value))\n return;\n if (shade && validColorShades.includes(shade)) {\n const className =\n prefix === 'has-text' && viewport && validViewports.includes(viewport)\n ? `${prefix}-${value}-${shade}-${viewport}`\n : `${prefix}-${value}-${shade}`;\n classes.push(className);\n } else {\n addClass(prefix, value, [...validColors, 'inherit', 'current']);\n }\n };\n\n // Color\n addColorClass('has-text', color, colorShade);\n addColorClass('has-background', backgroundColor, colorShade);\n\n // Spacing\n addClass('m', m, validSizes);\n addClass('mt', mt, validSizes);\n addClass('mr', mr, validSizes);\n addClass('mb', mb, validSizes);\n addClass('ml', ml, validSizes);\n addClass('mx', mx, validSizes);\n addClass('my', my, validSizes);\n addClass('p', p, validSizes);\n addClass('pt', pt, validSizes);\n addClass('pr', pr, validSizes);\n addClass('pb', pb, validSizes);\n addClass('pl', pl, validSizes);\n addClass('px', px, validSizes);\n addClass('py', py, validSizes);\n\n // Typography\n addClass('is-size', textSize, validTextSizes);\n addClass('has-text', textAlign, validAlignments);\n addClass('is', textTransform, validTextTransforms);\n addClass('has-text-weight', textWeight, validTextWeights);\n addClass('is-family', fontFamily, validFontFamilies);\n\n // Visibility\n addClass('is', display, validDisplays);\n if (visibility) {\n if (\n visibility === 'hidden' &&\n viewport &&\n validViewports.includes(viewport)\n ) {\n classes.push(`is-hidden-${viewport}`);\n } else if (validVisibilities.includes(visibility)) {\n classes.push(`is-${visibility}`);\n }\n }\n\n // Flexbox\n if (display === 'flex' || display === 'inline-flex') {\n addClass('is-flex-direction', flexDirection, validFlexDirections);\n addClass('is-flex-wrap', flexWrap, validFlexWraps);\n addClass('is-justify-content', justifyContent, validJustifyContents);\n addClass('is-align-content', alignContent, validAlignContents);\n addClass('is-align-items', alignItems, validAlignItems);\n addClass('is-align-self', alignSelf, validAlignSelfs);\n addClass('is-flex-grow', flexGrow, validFlexGrowShrink);\n addClass('is-flex-shrink', flexShrink, validFlexGrowShrink);\n }\n\n // Other Helpers\n if (float) {\n addClass('is-pulled', float, ['left', 'right']);\n }\n if (overflow) {\n addClass('is', overflow, ['clipped']);\n }\n if (overlay) {\n classes.push('is-overlay');\n }\n if (interaction) {\n addClass('is', interaction, ['unselectable', 'clickable']);\n }\n if (radius) {\n addClass('is', radius, ['radiusless']);\n }\n if (shadow) {\n addClass('is', shadow, ['shadowless']);\n }\n if (responsive) {\n addClass('is', responsive, ['mobile', 'narrow']);\n }\n\n return classNames(classes);\n }, [\n color,\n backgroundColor,\n colorShade,\n m,\n mt,\n mr,\n mb,\n ml,\n mx,\n my,\n p,\n pt,\n pr,\n pb,\n pl,\n px,\n py,\n textSize,\n textAlign,\n textTransform,\n textWeight,\n fontFamily,\n display,\n visibility,\n flexDirection,\n flexWrap,\n justifyContent,\n alignContent,\n alignItems,\n alignSelf,\n flexGrow,\n flexShrink,\n float,\n overflow,\n overlay,\n interaction,\n radius,\n shadow,\n responsive,\n viewport,\n ]);\n\n return { bulmaHelperClasses, rest };\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Possible values for Bulma column size.\n */\nexport type BulmaColumnSize =\n | number\n | 'full'\n | 'half'\n | 'one-third'\n | 'two-thirds'\n | 'one-quarter'\n | 'three-quarters'\n | 'one-fifth'\n | 'two-fifths'\n | 'three-fifths'\n | 'four-fifths';\n\n/**\n * Props for the Column component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the column.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n *\n * @property {BulmaColumnSize} [size] - Column size.\n * @property {BulmaColumnSize} [sizeMobile] - Mobile column size.\n * @property {BulmaColumnSize} [sizeTablet] - Tablet column size.\n * @property {BulmaColumnSize} [sizeDesktop] - Desktop column size.\n * @property {BulmaColumnSize} [sizeWidescreen] - Widescreen column size.\n * @property {BulmaColumnSize} [sizeFullhd] - FullHD column size.\n *\n * @property {BulmaColumnSize} [offset] - Column offset.\n * @property {BulmaColumnSize} [offsetMobile] - Mobile column offset.\n * @property {BulmaColumnSize} [offsetTablet] - Tablet column offset.\n * @property {BulmaColumnSize} [offsetDesktop] - Desktop column offset.\n * @property {BulmaColumnSize} [offsetWidescreen] - Widescreen column offset.\n * @property {BulmaColumnSize} [offsetFullhd] - FullHD column offset.\n *\n * @property {boolean} [isNarrow] - The column is narrow.\n * @property {boolean} [isNarrowMobile] - The column is narrow on mobile.\n * @property {boolean} [isNarrowTablet] - The column is narrow on tablet.\n * @property {boolean} [isNarrowTouch] - The column is narrow on touch devices.\n * @property {boolean} [isNarrowDesktop] - The column is narrow on desktop.\n * @property {boolean} [isNarrowWidescreen] - The column is narrow on widescreen.\n * @property {boolean} [isNarrowFullhd] - The column is narrow on fullhd.\n *\n * @property {React.ReactNode} [children] - Children to render inside the column.\n */\nexport interface ColumnProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n\n size?: BulmaColumnSize;\n sizeMobile?: BulmaColumnSize;\n sizeTablet?: BulmaColumnSize;\n sizeDesktop?: BulmaColumnSize;\n sizeWidescreen?: BulmaColumnSize;\n sizeFullhd?: BulmaColumnSize;\n\n offset?: BulmaColumnSize;\n offsetMobile?: BulmaColumnSize;\n offsetTablet?: BulmaColumnSize;\n offsetDesktop?: BulmaColumnSize;\n offsetWidescreen?: BulmaColumnSize;\n offsetFullhd?: BulmaColumnSize;\n\n isNarrow?: boolean;\n isNarrowMobile?: boolean;\n isNarrowTablet?: boolean;\n isNarrowTouch?: boolean;\n isNarrowDesktop?: boolean;\n isNarrowWidescreen?: boolean;\n isNarrowFullhd?: boolean;\n\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma column and offset class names for the Column component.\n */\nfunction getColumnClassNames(props: ColumnProps): string[] {\n const classList: string[] = [];\n // Sizes\n const sizeProps = [\n { prop: 'size', prefix: 'is', suffix: '' },\n { prop: 'sizeMobile', prefix: 'is', suffix: 'mobile' },\n { prop: 'sizeTablet', prefix: 'is', suffix: 'tablet' },\n { prop: 'sizeDesktop', prefix: 'is', suffix: 'desktop' },\n { prop: 'sizeWidescreen', prefix: 'is', suffix: 'widescreen' },\n { prop: 'sizeFullhd', prefix: 'is', suffix: 'fullhd' },\n ];\n for (const { prop, prefix, suffix } of sizeProps) {\n const val = props[prop as keyof ColumnProps] as BulmaColumnSize | undefined;\n if (val !== undefined && val !== null) {\n let className = `${prefix}-${val}`;\n if (suffix) className += `-${suffix}`;\n classList.push(className);\n }\n }\n // Offsets\n const offsetProps = [\n { prop: 'offset', prefix: 'is-offset', suffix: '' },\n { prop: 'offsetMobile', prefix: 'is-offset', suffix: 'mobile' },\n { prop: 'offsetTablet', prefix: 'is-offset', suffix: 'tablet' },\n { prop: 'offsetDesktop', prefix: 'is-offset', suffix: 'desktop' },\n { prop: 'offsetWidescreen', prefix: 'is-offset', suffix: 'widescreen' },\n { prop: 'offsetFullhd', prefix: 'is-offset', suffix: 'fullhd' },\n ];\n for (const { prop, prefix, suffix } of offsetProps) {\n const val = props[prop as keyof ColumnProps] as BulmaColumnSize | undefined;\n if (val !== undefined && val !== null) {\n let className = `${prefix}-${val}`;\n if (suffix) className += `-${suffix}`;\n classList.push(className);\n }\n }\n // isNarrow (responsive)\n if (props.isNarrow) classList.push('is-narrow');\n if (props.isNarrowMobile) classList.push('is-narrow-mobile');\n if (props.isNarrowTablet) classList.push('is-narrow-tablet');\n if (props.isNarrowTouch) classList.push('is-narrow-touch');\n if (props.isNarrowDesktop) classList.push('is-narrow-desktop');\n if (props.isNarrowWidescreen) classList.push('is-narrow-widescreen');\n if (props.isNarrowFullhd) classList.push('is-narrow-fullhd');\n\n return classList;\n}\n\n/**\n * Bulma Column component for responsive grid layouts.\n *\n * @function\n * @param {ColumnProps} props - Props for the Column component.\n * @returns {JSX.Element} The rendered column.\n * @see {@link https://bulma.io/documentation/columns/ | Bulma Columns documentation}\n */\nexport const Column: React.FC<ColumnProps> = ({\n className,\n textColor,\n bgColor,\n size,\n sizeMobile,\n sizeTablet,\n sizeDesktop,\n sizeWidescreen,\n sizeFullhd,\n offset,\n offsetMobile,\n offsetTablet,\n offsetDesktop,\n offsetWidescreen,\n offsetFullhd,\n isNarrow,\n isNarrowMobile,\n isNarrowTablet,\n isNarrowTouch,\n isNarrowDesktop,\n isNarrowWidescreen,\n isNarrowFullhd,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const columnClasses = classNames(\n 'column',\n ...getColumnClassNames({\n size,\n sizeMobile,\n sizeTablet,\n sizeDesktop,\n sizeWidescreen,\n sizeFullhd,\n offset,\n offsetMobile,\n offsetTablet,\n offsetDesktop,\n offsetWidescreen,\n offsetFullhd,\n isNarrow,\n isNarrowMobile,\n isNarrowTablet,\n isNarrowTouch,\n isNarrowDesktop,\n isNarrowWidescreen,\n isNarrowFullhd,\n }),\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={columnClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Possible values for the Bulma columns gap size.\n */\nexport type BulmaGapSize =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | '0'\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8';\n\n/**\n * Props for the Columns component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for columns.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {boolean} [isCentered] - Center the columns container.\n * @property {boolean} [isGapless] - Remove all column gaps.\n * @property {boolean} [isMultiline] - Allow columns to wrap to multiple lines.\n * @property {boolean} [isVCentered] - Vertically center columns.\n * @property {boolean} [isMobile] - Only apply columns styles on mobile.\n * @property {boolean} [isDesktop] - Only apply columns styles on desktop.\n * @property {BulmaGapSize} [gapSize] - Gap size for all breakpoints.\n * @property {BulmaGapSize} [gapSizeMobile] - Gap size for mobile.\n * @property {BulmaGapSize} [gapSizeTablet] - Gap size for tablet.\n * @property {BulmaGapSize} [gapSizeDesktop] - Gap size for desktop.\n * @property {BulmaGapSize} [gapSizeWidescreen] - Gap size for widescreen.\n * @property {BulmaGapSize} [gapSizeFullhd] - Gap size for fullhd.\n * @property {React.ReactNode} [children] - Columns to render within the container.\n */\nexport interface ColumnsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n isCentered?: boolean;\n isGapless?: boolean;\n isMultiline?: boolean;\n isVCentered?: boolean;\n isMobile?: boolean;\n isDesktop?: boolean;\n\n gapSize?: BulmaGapSize;\n gapSizeMobile?: BulmaGapSize;\n gapSizeTablet?: BulmaGapSize;\n gapSizeDesktop?: BulmaGapSize;\n gapSizeWidescreen?: BulmaGapSize;\n gapSizeFullhd?: BulmaGapSize;\n\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma gap classes for the Columns component.\n */\nfunction getGapClasses(props: ColumnsProps): string[] {\n const gapClassMap = [\n { prop: 'gapSize', prefix: 'is' },\n { prop: 'gapSizeMobile', prefix: 'is', suffix: 'mobile' },\n { prop: 'gapSizeTablet', prefix: 'is', suffix: 'tablet' },\n { prop: 'gapSizeDesktop', prefix: 'is', suffix: 'desktop' },\n { prop: 'gapSizeWidescreen', prefix: 'is', suffix: 'widescreen' },\n { prop: 'gapSizeFullhd', prefix: 'is', suffix: 'fullhd' },\n ];\n\n return gapClassMap.flatMap(({ prop, prefix, suffix }) => {\n const val = props[prop as keyof ColumnsProps] as BulmaGapSize | undefined;\n if (val !== undefined && val !== null) {\n let className = `${prefix}-${val}`;\n if (suffix) className += `-${suffix}`;\n return [className];\n }\n return [];\n });\n}\n\n/**\n * Bulma Columns container for flexible, responsive layouts.\n *\n * @function\n * @param {ColumnsProps} props - Props for the Columns component.\n * @returns {JSX.Element} The rendered columns container.\n * @see {@link https://bulma.io/documentation/columns/ | Bulma Columns documentation}\n */\nexport const Columns: React.FC<ColumnsProps> = ({\n className,\n textColor,\n bgColor,\n isCentered,\n isGapless,\n isMultiline,\n isVCentered,\n isMobile,\n isDesktop,\n gapSize,\n gapSizeMobile,\n gapSizeTablet,\n gapSizeDesktop,\n gapSizeWidescreen,\n gapSizeFullhd,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const columnsClasses = classNames(\n 'columns',\n {\n 'is-centered': isCentered,\n 'is-gapless': isGapless,\n 'is-multiline': isMultiline,\n 'is-vcentered': isVCentered,\n 'is-mobile': isMobile,\n 'is-desktop': isDesktop,\n },\n ...getGapClasses({\n gapSize,\n gapSizeMobile,\n gapSizeTablet,\n gapSizeDesktop,\n gapSizeWidescreen,\n gapSizeFullhd,\n } as ColumnsProps),\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={columnsClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validBreadcrumbAlignments = ['centered', 'right'] as const;\n/**\n * Valid alignment values for the Breadcrumb component.\n */\nexport type BreadcrumbAlignment = (typeof validBreadcrumbAlignments)[number];\n\nconst validBreadcrumbSeparators = [\n 'arrow',\n 'bullet',\n 'dot',\n 'succeeds',\n] as const;\n/**\n * Valid separator values for the Breadcrumb component.\n */\nexport type BreadcrumbSeparator = (typeof validBreadcrumbSeparators)[number];\n\nconst validBreadcrumbSizes = ['small', 'medium', 'large'] as const;\n/**\n * Valid size values for the Breadcrumb component.\n */\nexport type BreadcrumbSize = (typeof validBreadcrumbSizes)[number];\n\n/**\n * Props for the Breadcrumb component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {BreadcrumbAlignment} [alignment] - Alignment modifier for the breadcrumb.\n * @property {BreadcrumbSeparator} [separator] - Separator style for the breadcrumb.\n * @property {BreadcrumbSize} [size] - Size modifier for the breadcrumb.\n * @property {React.ReactNode} [children] - Breadcrumb items (e.g., \"a\" or \"span\" html elements).\n */\nexport interface BreadcrumbProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n alignment?: BreadcrumbAlignment;\n separator?: BreadcrumbSeparator;\n size?: BreadcrumbSize;\n children?: React.ReactNode;\n}\n\n/**\n * Breadcrumb component for rendering a styled Bulma breadcrumb navigation.\n *\n * Supports alignment, separator styles, and sizes.\n *\n * @function\n * @param {BreadcrumbProps} props - Props for the Breadcrumb component.\n * @returns {JSX.Element} The rendered breadcrumb element.\n * @see {@link https://bulma.io/documentation/components/breadcrumb/ | Bulma Breadcrumb documentation}\n */\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n className,\n alignment,\n separator,\n size,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const breadcrumbClasses = classNames(\n 'breadcrumb',\n className,\n bulmaHelperClasses,\n {\n [`is-${alignment}`]:\n alignment && validBreadcrumbAlignments.includes(alignment),\n [`has-${separator}-separator`]:\n separator && validBreadcrumbSeparators.includes(separator),\n [`is-${size}`]: size && validBreadcrumbSizes.includes(size),\n }\n );\n\n return (\n <nav className={breadcrumbClasses} aria-label=\"breadcrumbs\" {...rest}>\n <ul>{children}</ul>\n </nav>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Card component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the card.\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the card.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the card.\n * @property {boolean} [hasShadow] - Whether the card has a shadow (default: true).\n * @property {React.ReactNode} [header] - Card header content, rendered inside `.card-header-title`.\n * @property {boolean} [headerCentered] - If true, centers the header title.\n * @property {React.ReactNode} [headerIcon] - Card header icon, rendered as a sibling to the header title.\n * @property {React.ReactNode|React.ReactNode[]} [footer] - Card footer content, each wrapped in `.card-footer-item`.\n * @property {React.ReactNode|string} [image] - Card image node or image src string.\n * @property {string} [imageAlt] - Alternate text for the card image.\n * @property {React.ReactNode} [children] - Card content.\n */\nexport interface CardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n hasShadow?: boolean;\n header?: React.ReactNode;\n headerCentered?: boolean;\n headerIcon?: React.ReactNode;\n footer?: React.ReactNode | React.ReactNode[];\n image?: React.ReactNode | string;\n imageAlt?: string;\n children?: React.ReactNode;\n}\n\n// Always wrap each footer item in .card-footer-item\nconst renderFooter = (footer: CardProps['footer']) => {\n if (!footer) return null;\n const items = Array.isArray(footer) ? footer : [footer];\n return items.map((item, idx) => (\n <span className=\"card-footer-item\" key={idx}>\n {item}\n </span>\n ));\n};\n\n/**\n * Card component for rendering a styled Bulma card.\n *\n * @function\n * @param {CardProps} props - Props for the Card component.\n * @returns {JSX.Element} The rendered card element.\n * @see {@link https://bulma.io/documentation/components/card/ | Bulma Card documentation}\n */\nexport const Card: React.FC<CardProps> = ({\n className,\n children,\n textColor,\n bgColor,\n hasShadow = true,\n header,\n headerCentered,\n headerIcon,\n footer,\n image,\n imageAlt,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const cardClasses = classNames('card', className, bulmaHelperClasses, {\n 'is-shadowless': !hasShadow,\n });\n\n // Render header with optional icon and is-centered modifier\n const renderHeader = (\n header: React.ReactNode,\n headerIcon: React.ReactNode,\n headerCentered?: boolean\n ) => {\n if (!header && !headerIcon) return null;\n return (\n <header className=\"card-header\">\n {header && (\n <div\n className={classNames('card-header-title', {\n 'is-centered': headerCentered,\n })}\n >\n {header}\n </div>\n )}\n {headerIcon}\n </header>\n );\n };\n\n return (\n <div className={cardClasses} {...rest}>\n {renderHeader(header, headerIcon, headerCentered)}\n {image && (\n <div className=\"card-image\">\n {typeof image === 'string' ? (\n <figure className=\"image\">\n <img src={image} alt={imageAlt ?? 'Card image'} />\n </figure>\n ) : (\n image\n )}\n </div>\n )}\n {/* Only render card-content if children is specified */}\n {typeof children !== 'undefined' &&\n children !== null &&\n children !== '' && <div className=\"card-content\">{children}</div>}\n {footer && (\n <footer className=\"card-footer\">{renderFooter(footer)}</footer>\n )}\n </div>\n );\n};\n\n// Only for test coverage\nexport const __test_exports__ = { renderFooter };\n","import React, { useState, useRef, useEffect } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Checks if code is running in a browser environment.\n * @param win - Window object.\n * @param doc - Document object.\n * @returns {boolean} True if in browser, false otherwise.\n */\nexport const isBrowser = (win?: typeof window, doc?: typeof document) =>\n typeof win !== 'undefined' && typeof doc !== 'undefined';\n\n/**\n * Props for the Dropdown component.\n *\n * @property {React.ReactNode} label - The dropdown button content.\n * @property {React.ReactNode} children - The menu items.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {string} [menuClassName] - Additional CSS classes for the dropdown menu.\n * @property {boolean} [active] - Whether the dropdown is open (controlled).\n * @property {boolean} [up] - Dropdown direction up.\n * @property {boolean} [right] - Dropdown aligned to the right.\n * @property {boolean} [hoverable] - Dropdown opens on hover.\n * @property {boolean} [disabled] - Disables the dropdown trigger.\n * @property {(active: boolean) => void} [onActiveChange] - Called when active state changes.\n * @property {boolean} [closeOnClick=true] - Close dropdown when clicking a menu item.\n * @property {string} [id] - ID for the root element.\n */\nexport interface DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n label: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n menuClassName?: string;\n active?: boolean;\n up?: boolean;\n right?: boolean;\n hoverable?: boolean;\n disabled?: boolean;\n onActiveChange?: (active: boolean) => void;\n closeOnClick?: boolean;\n id?: string;\n}\n\n/**\n * Bulma Dropdown component.\n *\n * @function\n * @param {DropdownProps} props - Props for the Dropdown component.\n * @returns {JSX.Element} The rendered dropdown.\n * @see {@link https://bulma.io/documentation/components/dropdown/ | Bulma Dropdown documentation}\n */\nconst DropdownComponent: React.FC<DropdownProps> = ({\n label,\n children,\n className,\n menuClassName,\n active: activeProp,\n up,\n right,\n hoverable,\n disabled,\n onActiveChange,\n closeOnClick = true,\n id,\n ...props\n}) => {\n const [active, setActive] = useState<boolean>(!!activeProp);\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n // Controlled mode support\n useEffect(() => {\n if (typeof activeProp === 'boolean') setActive(activeProp);\n }, [activeProp]);\n\n // SSR-safe outside click\n useEffect(() => {\n if (!active) return;\n\n if (!isBrowser(window, document)) return;\n\n const handleClick = (e: MouseEvent) => {\n if (!dropdownRef.current?.contains(e.target as Node)) {\n setActive(false);\n onActiveChange?.(false);\n }\n };\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, [active, onActiveChange]);\n\n const handleToggle = () => {\n if (disabled) return;\n\n const newActive = !active;\n setActive(newActive);\n onActiveChange?.(newActive);\n };\n\n const handleMenuClick = () => {\n if (closeOnClick) {\n setActive(false);\n onActiveChange?.(false);\n }\n };\n\n const dropdownClasses = classNames(\n 'dropdown',\n bulmaHelperClasses,\n {\n 'is-active': active,\n 'is-up': up,\n 'is-right': right,\n 'is-hoverable': hoverable,\n 'is-disabled': disabled,\n },\n className\n );\n\n return (\n <div\n className={dropdownClasses}\n ref={dropdownRef}\n id={id}\n data-testid=\"dropdown-root\"\n {...rest}\n >\n <div className=\"dropdown-trigger\">\n <button\n className=\"button\"\n aria-haspopup=\"true\"\n aria-controls={id ? `${id}-menu` : undefined}\n aria-expanded={active}\n onClick={handleToggle}\n disabled={disabled}\n type=\"button\"\n >\n <span>{label}</span>\n <span className=\"icon is-small\" aria-hidden=\"true\">\n <i className=\"fas fa-angle-down\" />\n </span>\n </button>\n </div>\n <div\n className={classNames('dropdown-menu', menuClassName)}\n id={id ? `${id}-menu` : undefined}\n role=\"menu\"\n data-testid=\"dropdown-menu\"\n >\n <div\n className=\"dropdown-content\"\n onClick={handleMenuClick}\n tabIndex={-1}\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\n/**\n * Props for the DropdownItem component.\n *\n * @property {boolean} [active] - Whether the item is active.\n * @property {string} [className] - Additional CSS classes.\n * @property {'a'|'div'|'button'} [as] - The element type to render.\n * @property {React.ReactNode} [children] - Item content.\n */\nexport interface DropdownItemProps\n extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n active?: boolean;\n className?: string;\n as?: 'a' | 'div' | 'button';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Dropdown item.\n *\n * @function\n * @param {DropdownItemProps} props - Props for the DropdownItem component.\n * @returns {JSX.Element} The rendered dropdown item.\n */\nexport const DropdownItem: React.FC<DropdownItemProps> = ({\n children,\n active,\n className,\n as: Component = 'a',\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <Component\n className={classNames(\n 'dropdown-item',\n bulmaHelperClasses,\n { 'is-active': active },\n className\n )}\n tabIndex={0}\n role=\"menuitem\"\n data-testid=\"dropdown-item\"\n {...rest}\n >\n {children}\n </Component>\n );\n};\n\n/**\n * Bulma Dropdown divider.\n *\n * @returns {JSX.Element} The divider element.\n */\nexport const DropdownDivider: React.FC = () => (\n <hr className=\"dropdown-divider\" />\n);\n\n// Assign static subcomponents\nexport const Dropdown = Object.assign(DropdownComponent, {\n Item: DropdownItem,\n Divider: DropdownDivider,\n});\n\nexport default Dropdown;\n","import React, { createContext, useContext } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n// Context to track MenuList nesting level\nconst MenuListLevelContext = createContext(0);\n\n/**\n * Props for the Menu component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} children - Menu content.\n */\nexport interface MenuProps\n extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Bulma Menu component.\n *\n * @function\n * @param {MenuProps} props - Props for the Menu component.\n * @returns {JSX.Element} The rendered menu.\n * @see {@link https://bulma.io/documentation/components/menu/ | Bulma Menu documentation}\n */\nconst MenuComponent: React.FC<MenuProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n return (\n <aside\n className={classNames('menu', className, bulmaHelperClasses)}\n {...rest}\n >\n {children}\n </aside>\n );\n};\n\n/**\n * Props for the MenuLabel component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} children - Label content.\n */\nexport interface MenuLabelProps\n extends Omit<\n React.HTMLAttributes<HTMLParagraphElement>,\n keyof BulmaClassesProps\n >,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Bulma Menu label component.\n *\n * @function\n * @param {MenuLabelProps} props - Props for the MenuLabel component.\n * @returns {JSX.Element} The rendered menu label.\n */\nexport const MenuLabel: React.FC<MenuLabelProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n return (\n <p\n className={classNames('menu-label', className, bulmaHelperClasses)}\n {...rest}\n >\n {children}\n </p>\n );\n};\n\n/**\n * Props for the MenuList component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} children - List items.\n */\nexport interface MenuListProps\n extends Omit<React.HTMLAttributes<HTMLUListElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * MenuList applies `menu-list` class only at the top level (not for nested lists).\n *\n * @function\n * @param {MenuListProps} props - Props for the MenuList component.\n * @returns {JSX.Element} The rendered menu list.\n */\nexport const MenuList: React.FC<MenuListProps> = ({\n className,\n children,\n ...props\n}) => {\n const level = useContext(MenuListLevelContext);\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n const ulClass = classNames(className, bulmaHelperClasses, {\n 'menu-list': level === 0,\n });\n\n // Increment level for nested MenuLists\n return (\n <MenuListLevelContext.Provider value={level + 1}>\n <ul className={ulClass} {...rest}>\n {children}\n </ul>\n </MenuListLevelContext.Provider>\n );\n};\n\n/**\n * Props for the MenuItem component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [active] - Whether the item is active.\n * @property {string} [href] - Href for link items.\n * @property {React.ElementType} [as] - Render as a custom component.\n * @property {React.ReactNode} children - Item content and optional nested MenuList.\n */\nexport interface MenuItemProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n active?: boolean;\n href?: string;\n as?: React.ElementType;\n [key: string]: unknown;\n}\n\n/**\n * MenuItem supports `as` prop for custom link components, e.g., react-router-dom Link.\n *\n * @function\n * @param {MenuItemProps} props - Props for the MenuItem component.\n * @returns {JSX.Element} The rendered menu item.\n */\nexport const MenuItem: React.FC<MenuItemProps> = ({\n className,\n children,\n active,\n href,\n as: Component = 'a',\n 'data-testid': testId,\n ...rest\n}) => {\n const { bulmaHelperClasses, rest: bulmaRest } = useBulmaClasses(rest);\n const itemClass = classNames({ 'is-active': active }, bulmaHelperClasses);\n\n // Standard <li> props\n const { style, id, title, role, tabIndex, ...linkProps } = bulmaRest;\n\n // Split children into label and nested MenuList(s)\n const labelChildren: React.ReactNode[] = [];\n const nestedMenuLists: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement(child) && child.type === MenuList) {\n nestedMenuLists.push(child);\n } else {\n labelChildren.push(child);\n }\n });\n\n // href/to should go to the link component\n if (Component === 'a' && href) {\n (linkProps as Record<string, unknown>).href = href;\n }\n if (Object.prototype.hasOwnProperty.call(rest, 'to')) {\n (linkProps as Record<string, unknown>).to = rest.to;\n }\n\n return (\n <li\n className={className}\n data-testid={testId}\n style={style as React.CSSProperties | undefined}\n id={id as string | undefined}\n title={title as string | undefined}\n role={role as React.AriaRole | undefined}\n tabIndex={tabIndex as number | undefined}\n >\n <Component className={itemClass} {...linkProps}>\n {labelChildren}\n </Component>\n {nestedMenuLists}\n </li>\n );\n};\n\n// Attach static subcomponents\nexport const Menu = Object.assign(MenuComponent, {\n Label: MenuLabel,\n List: MenuList,\n Item: MenuItem,\n});\n\nexport default Menu;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Message component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [title] - Title displayed in the message header.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma or 'inherit'/'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the message.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma or 'inherit'/'current').\n * @property {() => void} [onClose] - Called when the close button is clicked.\n * @property {React.ReactNode} [children] - Message body content.\n */\nexport interface MessageProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'title'>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n title?: React.ReactNode;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n onClose?: () => void;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma-styled Message component.\n *\n * Supports Bulma helper classes, color, and an optional close button.\n *\n * @function\n * @param {MessageProps} props - Props for the Message component.\n * @returns {JSX.Element} The rendered message.\n * @see {@link https://bulma.io/documentation/components/message/ | Bulma Message documentation}\n */\nexport const Message: React.FC<MessageProps> = ({\n className,\n title,\n textColor,\n color,\n bgColor,\n onClose,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const messageClasses = classNames(\n 'message',\n color && `is-${color}`,\n className,\n bulmaHelperClasses\n );\n\n return (\n <article className={messageClasses} {...rest} data-testid=\"message\">\n {(title || onClose) && (\n <div className=\"message-header\">\n {title && <span>{title}</span>}\n {onClose && (\n <button\n className=\"delete\"\n aria-label=\"delete\"\n onClick={onClose}\n type=\"button\"\n data-testid=\"message-close\"\n />\n )}\n </div>\n )}\n {children && (\n <div className=\"message-body\" data-testid=\"message-body\">\n {children}\n </div>\n )}\n </article>\n );\n};\n\nexport default Message;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Modal component.\n *\n * @property {boolean} [active] - Whether the modal is open.\n * @property {() => void} [onClose] - Called when modal is closed.\n * @property {string} [className] - Additional CSS classes for the modal.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for modal content.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for modal content.\n * @property {React.ReactNode} [modalCardTitle] - Title for modal card variant.\n * @property {React.ReactNode} [modalCardFoot] - Footer for modal card variant.\n * @property {'card'|'content'} [type] - Modal type ('card' for modal-card, 'content' for modal-content).\n * @property {React.ReactNode} [children] - Modal body/content.\n */\nexport interface ModalProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color' | 'title'>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n active?: boolean;\n onClose?: () => void;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n modalCardTitle?: React.ReactNode;\n modalCardFoot?: React.ReactNode;\n type?: 'card' | 'content';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Modal component, supporting both modal-card and modal-content variants.\n *\n * @function\n * @param {ModalProps} props - Props for the Modal component.\n * @returns {JSX.Element} The rendered modal.\n * @see {@link https://bulma.io/documentation/components/modal/ | Bulma Modal documentation}\n */\nexport const Modal: React.FC<ModalProps> = ({\n active = false,\n onClose,\n className,\n textColor,\n bgColor,\n modalCardTitle,\n modalCardFoot,\n type,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n // EXPLICIT type wins; fallback to auto detection if not provided\n let isModalCard: boolean;\n if (type === 'card') isModalCard = true;\n else if (type === 'content') isModalCard = false;\n else isModalCard = !!modalCardTitle || !!modalCardFoot;\n\n const modalClasses = classNames(\n 'modal',\n { 'is-active': active },\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={modalClasses} {...rest} data-testid=\"modal\">\n <div\n className=\"modal-background\"\n onClick={onClose}\n data-testid=\"modal-background\"\n />\n {isModalCard ? (\n <div className=\"modal-card\">\n {modalCardTitle && (\n <header className=\"modal-card-head\">\n <p className=\"modal-card-title\">{modalCardTitle}</p>\n {onClose && (\n <button\n className=\"delete\"\n aria-label=\"close\"\n onClick={onClose}\n type=\"button\"\n data-testid=\"modal-close\"\n />\n )}\n </header>\n )}\n <section className=\"modal-card-body\" data-testid=\"modal-body\">\n {children}\n </section>\n {modalCardFoot && (\n <footer className=\"modal-card-foot\">{modalCardFoot}</footer>\n )}\n </div>\n ) : (\n <div className=\"modal-content\" data-testid=\"modal-content\">\n {children}\n </div>\n )}\n {/* Show floating close button for modal-content, or for modal-card when no header */}\n {(!isModalCard || (!modalCardTitle && onClose)) && onClose && (\n <button\n className=\"modal-close is-large\"\n aria-label=\"close\"\n onClick={onClose}\n type=\"button\"\n data-testid=\"modal-close-float\"\n />\n )}\n </div>\n );\n};\n\nexport default Modal;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Navbar component.\n *\n * @property {string} [className] - Additional CSS classes for the navbar.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Color for text.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the navbar.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the navbar.\n * @property {boolean} [transparent] - Whether the navbar is transparent.\n * @property {'top'|'bottom'} [fixed] - Whether the navbar is fixed to the top or bottom.\n * @property {React.ReactNode} [children] - Navbar content.\n */\nexport interface NavbarProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n transparent?: boolean;\n fixed?: 'top' | 'bottom';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar component, supports subcomponents for structured navigation.\n *\n * @function\n * @param {NavbarProps} props - Props for the Navbar component.\n * @returns {JSX.Element} The rendered navbar.\n * @see {@link https://bulma.io/documentation/components/navbar/ | Bulma Navbar documentation}\n */\nexport const Navbar: React.FC<NavbarProps> & {\n Brand: typeof NavbarBrand;\n Item: typeof NavbarItem;\n Burger: typeof NavbarBurger;\n Menu: typeof NavbarMenu;\n Start: typeof NavbarStart;\n End: typeof NavbarEnd;\n Dropdown: typeof NavbarDropdown;\n DropdownMenu: typeof NavbarDropdownMenu;\n Divider: typeof NavbarDivider;\n} = ({\n className,\n textColor,\n bgColor,\n color,\n transparent,\n fixed,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const navbarClasses = classNames('navbar', bulmaHelperClasses, className, {\n [`is-${color}`]: color,\n 'is-transparent': transparent,\n [`is-fixed-${fixed}`]: fixed,\n });\n\n return (\n <nav\n className={navbarClasses}\n role=\"navigation\"\n aria-label=\"main navigation\"\n {...rest}\n >\n {children}\n </nav>\n );\n};\n\n/**\n * Props for the NavbarBrand component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the brand.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the brand.\n * @property {React.ReactNode} [children] - Brand content.\n */\nexport interface NavbarBrandProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar brand area (usually left side).\n *\n * @function\n * @param {NavbarBrandProps} props - Props for the NavbarBrand component.\n * @returns {JSX.Element} The rendered brand area.\n */\nexport const NavbarBrand: React.FC<NavbarBrandProps> = ({\n className,\n children,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n ...props,\n });\n\n return (\n <div\n className={classNames('navbar-brand', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the NavbarItem component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ElementType} [as] - Render as a custom component.\n * @property {boolean} [active] - Whether the item is active.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the item.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the item.\n * @property {React.ReactNode} [children] - Navbar item content.\n */\nexport interface NavbarItemProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n as?: React.ElementType;\n active?: boolean;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar item (link, button, etc).\n *\n * @function\n * @param {NavbarItemProps} props - Props for the NavbarItem component.\n * @returns {JSX.Element} The rendered item.\n */\nexport const NavbarItem: React.FC<NavbarItemProps> = ({\n className,\n as: Component = 'a',\n active,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n return (\n <Component\n className={classNames('navbar-item', bulmaHelperClasses, className, {\n 'is-active': active,\n })}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n\n/**\n * Props for the NavbarBurger component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the burger.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the burger.\n * @property {boolean} [active] - Whether the burger is active.\n * @property {React.ReactNode} [children] - Custom content inside the burger.\n * @property {string} ['aria-label'] - Aria label for accessibility.\n * @property {boolean} ['aria-expanded'] - Aria expanded state.\n * @property {React.MouseEventHandler<HTMLButtonElement>} [onClick] - Click handler.\n */\nexport interface NavbarBurgerProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n active?: boolean;\n children?: React.ReactNode;\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\n/**\n * Bulma Navbar burger (responsive menu toggle).\n *\n * @function\n * @param {NavbarBurgerProps} props - Props for the NavbarBurger component.\n * @returns {JSX.Element} The rendered burger.\n */\nexport const NavbarBurger: React.FC<NavbarBurgerProps> = ({\n className,\n active,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n return (\n <button\n type=\"button\"\n className={classNames('navbar-burger', bulmaHelperClasses, className, {\n 'is-active': active,\n })}\n aria-label={props['aria-label'] || 'menu'}\n aria-expanded={props['aria-expanded'] ?? !!active}\n {...rest}\n >\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n {children}\n </button>\n );\n};\n\n/**\n * Props for the NavbarMenu component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the menu.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the menu.\n * @property {boolean} [active] - Whether the menu is active.\n * @property {React.ReactNode} [children] - Menu content.\n */\nexport interface NavbarMenuProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n active?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar menu area (collapsible content).\n *\n * @function\n * @param {NavbarMenuProps} props - Props for the NavbarMenu component.\n * @returns {JSX.Element} The rendered menu.\n */\nexport const NavbarMenu: React.FC<NavbarMenuProps> = ({\n className,\n active,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n return (\n <div\n className={classNames('navbar-menu', bulmaHelperClasses, className, {\n 'is-active': active,\n })}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the NavbarStartEnd component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface NavbarStartEndProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar start area (left-aligned).\n *\n * @function\n * @param {NavbarStartEndProps} props - Props for the NavbarStart component.\n * @returns {JSX.Element} The rendered start area.\n */\nexport const NavbarStart: React.FC<NavbarStartEndProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n return (\n <div\n className={classNames('navbar-start', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Bulma Navbar end area (right-aligned).\n *\n * @function\n * @param {NavbarStartEndProps} props - Props for the NavbarEnd component.\n * @returns {JSX.Element} The rendered end area.\n */\nexport const NavbarEnd: React.FC<NavbarStartEndProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n return (\n <div\n className={classNames('navbar-end', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the NavbarDropdown component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [right] - Dropdown aligned right.\n * @property {boolean} [up] - Dropdown opens upwards.\n * @property {boolean} [hoverable] - Dropdown opens on hover.\n * @property {boolean} [active] - Dropdown is open.\n * @property {React.ReactNode} [children] - Dropdown content.\n */\nexport interface NavbarDropdownProps\n extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n right?: boolean;\n up?: boolean;\n hoverable?: boolean;\n active?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar dropdown (for nested dropdown menus).\n *\n * @function\n * @param {NavbarDropdownProps} props - Props for the NavbarDropdown component.\n * @returns {JSX.Element} The rendered dropdown.\n */\nexport const NavbarDropdown: React.FC<NavbarDropdownProps> = ({\n className,\n right,\n up,\n hoverable,\n active,\n children,\n ...props\n}) => (\n <div\n className={classNames(\n 'navbar-item',\n 'has-dropdown',\n {\n 'is-right': right,\n 'is-up': up,\n 'is-hoverable': hoverable,\n 'is-active': active,\n },\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Props for the NavbarDropdownMenu component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [right] - Dropdown aligned right.\n * @property {boolean} [up] - Dropdown opens upwards.\n * @property {React.ReactNode} [children] - Dropdown menu content.\n */\nexport interface NavbarDropdownMenuProps\n extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n right?: boolean;\n up?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar dropdown menu container.\n *\n * @function\n * @param {NavbarDropdownMenuProps} props - Props for the NavbarDropdownMenu component.\n * @returns {JSX.Element} The rendered dropdown menu.\n */\nexport const NavbarDropdownMenu: React.FC<NavbarDropdownMenuProps> = ({\n className,\n right,\n up,\n children,\n ...props\n}) => (\n <div\n className={classNames(\n 'navbar-dropdown',\n {\n 'is-right': right,\n 'is-up': up,\n },\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Bulma Navbar divider.\n *\n * @param props - Standard hr props.\n * @returns {JSX.Element} The rendered divider.\n */\nexport const NavbarDivider: React.FC<\n React.HTMLAttributes<HTMLHRElement>\n> = props => <hr className=\"navbar-divider\" {...props} />;\n\n// Attach subcomponents\nNavbar.Brand = NavbarBrand;\nNavbar.Item = NavbarItem;\nNavbar.Burger = NavbarBurger;\nNavbar.Menu = NavbarMenu;\nNavbar.Start = NavbarStart;\nNavbar.End = NavbarEnd;\nNavbar.Dropdown = NavbarDropdown;\nNavbar.DropdownMenu = NavbarDropdownMenu;\nNavbar.Divider = NavbarDivider;\n\nexport default Navbar;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Pagination component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the pagination.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the pagination.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the pagination.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the pagination.\n * @property {'centered'|'right'} [align] - Alignment for the pagination.\n * @property {boolean} [rounded] - Renders pagination with rounded corners.\n * @property {number} [total] - Total number of pages.\n * @property {number} [current] - Current page.\n * @property {(page: number) => void} [onPageChange] - Page change callback.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Custom pagination content.\n */\nexport interface PaginationProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: 'small' | 'medium' | 'large';\n align?: 'centered' | 'right';\n rounded?: boolean;\n total?: number;\n current?: number;\n onPageChange?: (page: number) => void;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for PaginationPrevious and PaginationNext components.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [disabled] - Whether previous/next is disabled.\n * @property {React.ReactNode} [children] - Button content.\n */\nexport interface PaginationPreviousNextProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n className?: string;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Pagination previous button.\n */\nexport const PaginationPrevious: React.FC<PaginationPreviousNextProps> = ({\n className,\n disabled,\n children,\n ...props\n}) => (\n <a\n className={classNames('pagination-previous', className, {\n 'is-disabled': disabled,\n })}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n {...props}\n onClick={\n disabled\n ? e => {\n e.preventDefault();\n e.stopPropagation();\n }\n : props.onClick\n }\n >\n {children}\n </a>\n);\n\n/**\n * Bulma Pagination next button.\n */\nexport const PaginationNext: React.FC<PaginationPreviousNextProps> = ({\n className,\n disabled,\n children,\n ...props\n}) => (\n <a\n className={classNames('pagination-next', className, {\n 'is-disabled': disabled,\n })}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n {...props}\n onClick={\n disabled\n ? e => {\n e.preventDefault();\n e.stopPropagation();\n }\n : props.onClick\n }\n >\n {children}\n </a>\n);\n\n/**\n * Bulma Pagination navigation component.\n *\n * @function\n * @param {PaginationProps} props - Props for the Pagination component.\n * @returns {JSX.Element} The rendered pagination.\n * @see {@link https://bulma.io/documentation/components/pagination/ | Bulma Pagination documentation}\n */\nexport const Pagination: React.FC<PaginationProps> & {\n Link: typeof PaginationLink;\n List: typeof PaginationList;\n Ellipsis: typeof PaginationEllipsis;\n Previous: typeof PaginationPrevious;\n Next: typeof PaginationNext;\n} = ({\n color,\n textColor,\n bgColor,\n size,\n align,\n rounded,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n const paginationClasses = classNames(\n 'pagination',\n bulmaHelperClasses,\n className,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n [`is-${align}`]: align,\n 'is-rounded': rounded,\n }\n );\n\n return (\n <nav\n className={paginationClasses}\n role=\"navigation\"\n aria-label=\"pagination\"\n {...rest}\n >\n {children}\n </nav>\n );\n};\n\n/**\n * Props for the PaginationList component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the list.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the list.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the list.\n * @property {React.ReactNode} [children] - List items.\n */\nexport interface PaginationListProps\n extends React.HTMLAttributes<HTMLUListElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Pagination list container.\n */\nexport const PaginationList: React.FC<PaginationListProps> = ({\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <ul\n className={classNames('pagination-list', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </ul>\n );\n};\n\n/**\n * Props for the PaginationLink component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {boolean} [active] - Whether the link is for the current page.\n * @property {boolean} [disabled] - Whether the link is disabled.\n * @property {React.ReactNode} [children] - Link content.\n */\nexport interface PaginationLinkProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n active?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Pagination link (page number).\n */\nexport const PaginationLink: React.FC<PaginationLinkProps> = ({\n className,\n textColor,\n bgColor,\n active,\n disabled,\n onClick,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n if (disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (onClick) {\n onClick(e);\n }\n };\n\n return (\n <li>\n <a\n className={classNames(\n 'pagination-link',\n bulmaHelperClasses,\n className,\n {\n 'is-current': active,\n 'is-disabled': disabled,\n }\n )}\n aria-current={active ? 'page' : undefined}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n onClick={handleClick}\n {...rest}\n >\n {children}\n </a>\n </li>\n );\n};\n\n/**\n * Bulma Pagination ellipsis element.\n *\n * @param props - Standard li props.\n * @returns {JSX.Element} The rendered ellipsis.\n */\nexport const PaginationEllipsis: React.FC<\n React.LiHTMLAttributes<HTMLLIElement>\n> = props => (\n <li>\n <span className=\"pagination-ellipsis\" {...props}>\n …\n </span>\n </li>\n);\n\nPagination.Link = PaginationLink;\nPagination.List = PaginationList;\nPagination.Ellipsis = PaginationEllipsis;\nPagination.Previous = PaginationPrevious;\nPagination.Next = PaginationNext;\n\nexport default Pagination;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Panel component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the panel.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Panel content.\n */\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelHeading component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Heading content.\n */\nexport interface PanelHeadingProps\n extends React.HTMLAttributes<HTMLParagraphElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelTabs component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tabs content.\n */\nexport interface PanelTabsProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelBlock component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [active] - Whether the block is active.\n * @property {React.ReactNode} [children] - Block content.\n */\nexport interface PanelBlockProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n className?: string;\n active?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelIcon component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Icon content.\n */\nexport interface PanelIconProps extends React.HTMLAttributes<HTMLSpanElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelInputBlock component.\n *\n * @property {string} [value] - Input value.\n * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Input change handler.\n * @property {string} [placeholder] - Input placeholder.\n * @property {string} [iconClassName] - Icon class for left icon (default 'fas fa-search').\n */\nexport interface PanelInputBlockProps\n extends React.HTMLAttributes<HTMLDivElement> {\n value?: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n placeholder?: string;\n iconClassName?: string;\n}\n\n/**\n * Props for the PanelCheckboxBlock component.\n *\n * @property {boolean} [checked] - Whether the checkbox is checked.\n * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Checkbox change handler.\n * @property {React.ReactNode} [children] - Label/content.\n */\nexport interface PanelCheckboxBlockProps\n extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange'> {\n checked?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelButtonBlock component.\n *\n * @property {React.ReactNode} [children] - Button content.\n */\nexport interface PanelButtonBlockProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Panel component, supports various panel subcomponents.\n *\n * @function\n * @param {PanelProps} props - Props for the Panel component.\n * @returns {JSX.Element} The rendered panel.\n * @see {@link https://bulma.io/documentation/components/panel/ | Bulma Panel documentation}\n */\nexport const Panel: React.FC<PanelProps> & {\n Heading: typeof PanelHeading;\n Tabs: typeof PanelTabs;\n Block: typeof PanelBlock;\n Icon: typeof PanelIcon;\n InputBlock: typeof PanelInputBlock;\n CheckboxBlock: typeof PanelCheckboxBlock;\n ButtonBlock: typeof PanelButtonBlock;\n} = ({ color, className, children, ...props }) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const panelClasses = classNames('panel', bulmaHelperClasses, className, {\n [`is-${color}`]: color,\n });\n\n return (\n <nav className={panelClasses} {...rest}>\n {children}\n </nav>\n );\n};\n\n/**\n * Bulma Panel heading.\n */\nexport const PanelHeading: React.FC<PanelHeadingProps> = ({\n className,\n children,\n ...props\n}) => (\n <p className={classNames('panel-heading', className)} {...props}>\n {children}\n </p>\n);\n\n/**\n * Bulma Panel tabs.\n */\nexport const PanelTabs: React.FC<PanelTabsProps> = ({\n className,\n children,\n ...props\n}) => (\n <p className={classNames('panel-tabs', className)} {...props}>\n {children}\n </p>\n);\n\n/**\n * Bulma Panel block.\n */\nexport const PanelBlock: React.FC<PanelBlockProps> = ({\n className,\n active,\n children,\n ...props\n}) => (\n <a\n className={classNames('panel-block', className, { 'is-active': active })}\n {...props}\n >\n {children}\n </a>\n);\n\n/**\n * Bulma Panel icon.\n */\nexport const PanelIcon: React.FC<PanelIconProps> = ({\n className,\n children,\n ...props\n}) => (\n <span className={classNames('panel-icon', className)} {...props}>\n {children}\n </span>\n);\n\n/**\n * Bulma Panel input block.\n */\nexport const PanelInputBlock: React.FC<PanelInputBlockProps> = ({\n value,\n onChange,\n placeholder,\n iconClassName = 'fas fa-search',\n ...props\n}) => (\n <div className=\"panel-block\" {...props}>\n <p className=\"control has-icons-left\">\n <input\n className=\"input\"\n type=\"text\"\n placeholder={placeholder}\n value={value}\n onChange={onChange}\n />\n <span className=\"icon is-left\">\n <i className={iconClassName} aria-hidden=\"true\"></i>\n </span>\n </p>\n </div>\n);\n\n/**\n * Bulma Panel checkbox block.\n */\nexport const PanelCheckboxBlock: React.FC<PanelCheckboxBlockProps> = ({\n checked,\n onChange,\n children,\n ...props\n}) => (\n <label className=\"panel-block\" {...props}>\n <input type=\"checkbox\" checked={checked} onChange={onChange} />\n {children}\n </label>\n);\n\n/**\n * Bulma Panel button block.\n */\nexport const PanelButtonBlock: React.FC<PanelButtonBlockProps> = ({\n children,\n className,\n ...props\n}) => (\n <div className=\"panel-block\">\n <button\n className={classNames(\n 'button is-link is-outlined is-fullwidth',\n className\n )}\n {...props}\n >\n {children}\n </button>\n </div>\n);\n\nPanel.Heading = PanelHeading;\nPanel.Tabs = PanelTabs;\nPanel.Block = PanelBlock;\nPanel.Icon = PanelIcon;\nPanel.InputBlock = PanelInputBlock;\nPanel.CheckboxBlock = PanelCheckboxBlock;\nPanel.ButtonBlock = PanelButtonBlock;\n\nexport default Panel;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tabs component.\n *\n * @property {'centered'|'right'|'left'} [align] - Tab alignment.\n * @property {'small'|'medium'|'large'} [size] - Tab size.\n * @property {boolean} [fullwidth] - Tabs are fullwidth.\n * @property {boolean} [boxed] - Tabs are boxed style.\n * @property {boolean} [toggle] - Tabs are toggle style.\n * @property {boolean} [rounded] - Tabs are rounded (if toggle).\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the tabs.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tab content.\n */\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n align?: 'centered' | 'right' | 'left';\n size?: 'small' | 'medium' | 'large';\n fullwidth?: boolean;\n boxed?: boolean;\n toggle?: boolean;\n rounded?: boolean;\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the TabList component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tab list items.\n */\nexport interface TabListProps extends React.HTMLAttributes<HTMLUListElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the TabItem component.\n *\n * @property {boolean} [active] - Whether the tab is active.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tab content.\n * @property {React.MouseEventHandler<HTMLLIElement>} [onClick] - Click handler.\n */\nexport interface TabItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n active?: boolean;\n className?: string;\n children?: React.ReactNode;\n onClick?: React.MouseEventHandler<HTMLLIElement>;\n}\n\n/**\n * Bulma Tabs component with subcomponents for tab lists and items.\n *\n * @function\n * @param {TabsProps} props - Props for the Tabs component.\n * @returns {JSX.Element} The rendered tabs.\n * @see {@link https://bulma.io/documentation/components/tabs/ | Bulma Tabs documentation}\n */\nexport const Tabs: React.FC<TabsProps> & {\n List: typeof TabList;\n Item: typeof TabItem;\n} = ({\n align,\n size,\n fullwidth,\n boxed,\n toggle,\n rounded,\n color,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const tabsClass = classNames(\n 'tabs',\n bulmaHelperClasses,\n {\n [`is-${align}`]: align,\n [`is-${size}`]: size,\n 'is-fullwidth': fullwidth,\n 'is-boxed': boxed,\n 'is-toggle': toggle,\n 'is-toggle-rounded': toggle && rounded,\n [`is-${color}`]: color,\n },\n className\n );\n return (\n <div className={tabsClass} {...rest}>\n {children}\n </div>\n );\n};\n\n/**\n * Bulma Tab list container.\n *\n * @function\n * @param {TabListProps} props - Props for the TabList component.\n * @returns {JSX.Element} The rendered tab list.\n */\nexport const TabList: React.FC<TabListProps> = ({\n className,\n children,\n ...props\n}) => (\n <ul className={classNames(className)} {...props}>\n {children}\n </ul>\n);\n\n/**\n * Bulma Tab item.\n *\n * @function\n * @param {TabItemProps} props - Props for the TabItem component.\n * @returns {JSX.Element} The rendered tab item.\n */\nexport const TabItem: React.FC<TabItemProps> = ({\n active,\n className,\n children,\n onClick,\n ...props\n}) => (\n <li\n className={classNames({ 'is-active': active }, className)}\n onClick={onClick}\n {...props}\n >\n {children}\n </li>\n);\n\nTabs.List = TabList;\nTabs.Item = TabItem;\n\nexport default Tabs;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Block component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the block.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {React.ReactNode} [children] - Content to be rendered inside the block.\n */\nexport interface BlockProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Block component for rendering a styled Bulma block element.\n *\n * A block is a simple utility element that adds spacing (margin-bottom) between elements.\n * Supports Bulma helper classes for additional styling like text color, background color, and layout.\n *\n * @function\n * @param {BlockProps} props - Props for the Block component.\n * @returns {JSX.Element} The rendered block element.\n * @see {@link https://bulma.io/documentation/elements/block/ | Bulma Block documentation}\n */\nexport const Block: React.FC<BlockProps> = ({\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const blockClasses = classNames('block', className, bulmaHelperClasses);\n\n return (\n <div className={blockClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Box component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the box.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {boolean} [hasShadow=true] - Whether the box has a shadow (default: true).\n * @property {React.ReactNode} [children] - Content to be rendered inside the box.\n */\nexport interface BoxProps\n /** @ignore */\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n hasShadow?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Box component for rendering a styled Bulma box element.\n *\n * Supports Bulma helper classes for styling and layout, with optional shadow control.\n *\n * @function\n * @param {BoxProps} props - Props for the Box component.\n * @returns {JSX.Element} The rendered box element.\n * @see {@link https://bulma.io/documentation/elements/box/ | Bulma Box documentation}\n */\nexport const Box: React.FC<BoxProps> = ({\n className,\n textColor,\n bgColor,\n hasShadow = true,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const boxClasses = classNames('box', className, bulmaHelperClasses, {\n 'is-shadowless': !hasShadow,\n });\n\n return (\n <div className={boxClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Button component.\n *\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the button.\n * @property {'small' | 'normal' | 'medium' | 'large'} [size] - Button size.\n * @property {boolean} [isLight] - Use the light version of the color.\n * @property {boolean} [isRounded] - Button is fully rounded.\n * @property {boolean} [isLoading] - Button shows a loading spinner.\n * @property {boolean} [isStatic] - Button is static and non-interactive.\n * @property {boolean} [isFullWidth] - Button takes the full width of parent.\n * @property {boolean} [isOutlined] - Use outlined button style.\n * @property {boolean} [isInverted] - Use inverted color style.\n * @property {boolean} [isFocused] - Button is styled as focused.\n * @property {boolean} [isActive] - Button is styled as active.\n * @property {boolean} [isHovered] - Button is styled as hovered.\n * @property {boolean} [isDisabled] - Button is disabled.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {'a' | 'button'} [as] - Render as an anchor or button element.\n * @property {string} [href] - Specifies the URL for anchor buttons.\n * @property {React.MouseEventHandler<HTMLButtonElement> | React.MouseEventHandler<HTMLAnchorElement>} [onClick] - Click handler for the button or anchor.\n * @property {string} [target] - Target for anchor element.\n * @property {string} [rel] - Rel attribute for anchor element.\n * @property {React.ReactNode} [children] - Content to be rendered inside the button.\n */\nexport interface ButtonProps\n extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'color' | 'onClick'\n >,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor' | 'size'> {\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n size?: 'small' | 'normal' | 'medium' | 'large';\n isLight?: boolean;\n isRounded?: boolean;\n isLoading?: boolean;\n isStatic?: boolean;\n isFullWidth?: boolean;\n isOutlined?: boolean;\n isInverted?: boolean;\n isFocused?: boolean;\n isActive?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n as?: 'a' | 'button';\n href?: string;\n onClick?:\n | React.MouseEventHandler<HTMLButtonElement>\n | React.MouseEventHandler<HTMLAnchorElement>;\n target?: string;\n rel?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Button component for rendering a Bulma-styled button or anchor.\n *\n * Supports Bulma helper classes for colors, sizes, and various button states and modifiers.\n *\n * @function\n * @param {ButtonProps} props - Props for the Button component.\n * @returns {JSX.Element} The rendered button or anchor element.\n * @see {@link https://bulma.io/documentation/elements/button/ | Bulma Button documentation}\n */\nexport const Button: React.FC<ButtonProps> = ({\n color,\n size,\n isLight,\n isRounded,\n isLoading,\n isStatic,\n isFullWidth,\n isOutlined,\n isInverted,\n isFocused,\n isActive,\n isHovered,\n isDisabled,\n className,\n children,\n textColor,\n bgColor,\n as = 'button',\n href,\n onClick,\n target,\n rel,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const buttonClasses = classNames('button', className, bulmaHelperClasses, {\n [`is-${color}`]: color,\n [`is-${size}`]: size && size !== 'normal',\n 'is-light': isLight,\n 'is-rounded': isRounded,\n 'is-loading': isLoading,\n 'is-static': isStatic,\n 'is-fullwidth': isFullWidth,\n 'is-outlined': isOutlined,\n 'is-inverted': isInverted,\n 'is-focused': isFocused,\n 'is-active': isActive,\n 'is-hovered': isHovered,\n 'is-disabled': isDisabled,\n });\n\n if (as === 'a') {\n // Remove button-specific props (like 'type') from rest\n const { ...anchorRest } =\n rest as React.AnchorHTMLAttributes<HTMLAnchorElement>;\n return (\n <a\n className={buttonClasses}\n href={href}\n target={target}\n rel={rel}\n aria-disabled={isDisabled}\n tabIndex={isDisabled ? -1 : undefined}\n onClick={\n isDisabled\n ? e => e.preventDefault()\n : (onClick as\n | React.MouseEventHandler<HTMLAnchorElement>\n | undefined)\n }\n {...anchorRest}\n >\n {children}\n </a>\n );\n }\n\n return (\n <button\n className={buttonClasses}\n disabled={isDisabled}\n onClick={\n onClick as React.MouseEventHandler<HTMLButtonElement> | undefined\n }\n {...rest}\n >\n {children}\n </button>\n );\n};\n\nexport default Button;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Buttons component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the buttons group.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {boolean} [isCentered] - Center the group of buttons.\n * @property {boolean} [isRight] - Align the group of buttons to the right.\n * @property {boolean} [hasAddons] - Group buttons together as addons.\n * @property {React.ReactNode} children - The button elements to render inside the group.\n */\ninterface ButtonsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n isCentered?: boolean;\n isRight?: boolean;\n hasAddons?: boolean;\n children: React.ReactNode;\n}\n\n/**\n * Buttons component for rendering a group of Bulma-styled buttons.\n *\n * Supports Bulma helper classes for styling, color, and layout, including centering, right alignment, and grouping as addons.\n *\n * @function\n * @param {ButtonsProps} props - Props for the Buttons component.\n * @returns {JSX.Element} The rendered group of buttons.\n * @see {@link https://bulma.io/documentation/elements/button/#group | Bulma Button Group documentation}\n */\nexport const Buttons: React.FC<ButtonsProps> = ({\n className,\n textColor,\n bgColor,\n isCentered,\n isRight,\n hasAddons,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const buttonsClasses = classNames('buttons', className, bulmaHelperClasses, {\n 'is-centered': isCentered,\n 'is-right': isRight,\n 'has-addons': hasAddons,\n });\n\n return (\n <div className={buttonsClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Content component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the content.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {'small' | 'normal' | 'medium' | 'large'} [size] - Size modifier for the content.\n * @property {React.ReactNode} [children] - Content to be rendered inside the block.\n */\ninterface ContentProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: 'small' | 'normal' | 'medium' | 'large';\n children?: React.ReactNode;\n}\n\n// Valid size modifiers for the content class\nconst validSizes = ['small', 'medium', 'large'] as const;\n\n/**\n * Content component for rendering a styled Bulma content block.\n *\n * Applies typographic styles to HTML content (e.g., paragraphs, headings, lists) with Bulma's content class.\n * Supports size modifiers and Bulma helper classes for additional styling.\n *\n * @function\n * @param {ContentProps} props - Props for the Content component.\n * @returns {JSX.Element} The rendered content block.\n * @see {@link https://bulma.io/documentation/elements/content/ | Bulma Content documentation}\n */\nexport const Content: React.FC<ContentProps> = ({\n className,\n textColor,\n bgColor,\n size,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const contentClasses = classNames('content', className, bulmaHelperClasses, {\n [`is-${size}`]: size && size !== 'normal' && validSizes.includes(size),\n });\n\n return (\n <div className={contentClasses} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Content;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Delete component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the delete button.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {(event: React.MouseEvent<HTMLButtonElement>) => void} [onClick] - Click handler for the button.\n * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the delete button.\n * @property {string} [ariaLabel='Close'] - ARIA label for accessibility (default: 'Close').\n * @property {boolean} [disabled=false] - Whether the button is disabled (default: false).\n */\ninterface DeleteProps\n extends React.HTMLAttributes<HTMLButtonElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n size?: 'small' | 'medium' | 'large';\n ariaLabel?: string;\n disabled?: boolean;\n}\n\n/**\n * Delete component for rendering a Bulma-styled delete/close button.\n *\n * Supports Bulma helper classes for styling, color, and size, and includes accessibility and disabled state.\n *\n * @function\n * @param {DeleteProps} props - Props for the Delete component.\n * @returns {JSX.Element} The rendered delete button.\n * @see {@link https://bulma.io/documentation/elements/delete/ | Bulma Delete documentation}\n */\nexport const Delete: React.FC<DeleteProps> = ({\n className,\n textColor,\n bgColor,\n onClick,\n size,\n ariaLabel = 'Close',\n disabled = false,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const classes = classNames(\n 'delete',\n {\n [`is-${size}`]: size,\n 'is-disabled': disabled,\n },\n bulmaHelperClasses,\n className\n );\n\n return (\n <button\n className={classes}\n onClick={onClick}\n aria-label={ariaLabel}\n disabled={disabled}\n type=\"button\"\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\ntype IconLibrary = 'fa' | 'mdi' | 'ion'; // 'fa' = Font Awesome, 'mdi' = Material Design Icons, 'ion' = Ionicons\n\n/**\n * Props for the Icon component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {string} name - The icon name (without library prefix).\n * @property {IconLibrary} [library='fa'] - The icon library to use ('fa' = Font Awesome, 'mdi' = Material Design Icons, 'ion' = Ionicons).\n * @property {string | string[]} [libraryFeatures] - Additional library-specific classes, e.g. 'fa-lg', 'fa-spin', or ['fa-lg', 'fa-fw'].\n * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the icon.\n * @property {string} [ariaLabel='icon'] - ARIA label for accessibility (default: 'icon').\n * @property {object} [style] - Inline style object.\n */\nexport interface IconProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n name: string; // e.g., 'star', 'account', 'home-outline'\n library?: IconLibrary; // default: 'fa'\n libraryFeatures?: string | string[]; // e.g., 'fa-lg', 'fa-spin', or ['fa-lg', 'fa-fw']\n size?: 'small' | 'medium' | 'large';\n ariaLabel?: string;\n style?: React.CSSProperties;\n}\n\n/**\n * Gets the correct classes for the icon element based on the library and features.\n *\n * @param {IconLibrary} library - The icon library.\n * @param {string} name - The icon name.\n * @param {string | string[]} [libraryFeatures] - Additional library-specific classes.\n * @returns {string} The combined class string for the icon.\n */\nfunction getIconClasses(\n library: IconLibrary,\n name: string,\n libraryFeatures?: string | string[]\n): string {\n let baseClass = '';\n let iconClass = '';\n let features = Array.isArray(libraryFeatures)\n ? libraryFeatures\n : libraryFeatures\n ? [libraryFeatures]\n : [];\n\n switch (library) {\n case 'fa': {\n // Font Awesome 5/6: use 'fas', 'far', 'fab', etc. as feature, icon is 'fa-<icon>'\n // If features contains a FA style ('fas', 'far', 'fab'), use it, otherwise default to 'fas'\n const faStyle =\n features.find(f =>\n ['fas', 'far', 'fab', 'fal', 'fad', 'fat'].includes(f)\n ) || 'fas';\n baseClass = faStyle;\n iconClass = `fa-${name}`;\n features = features.filter(f => f !== faStyle);\n return [baseClass, iconClass, ...features].join(' ');\n }\n case 'mdi':\n // Material Design Icons: always 'mdi mdi-<icon>'\n baseClass = 'mdi';\n iconClass = `mdi-${name}`;\n return [baseClass, iconClass, ...features].join(' ');\n case 'ion':\n // Ionicons (v4+): 'ion' and 'ion-<icon>'\n baseClass = 'ion';\n iconClass = `ion-${name}`;\n return [baseClass, iconClass, ...features].join(' ');\n default:\n // fallback: just icon name and features\n return [name, ...features].join(' ');\n }\n}\n\n/**\n * Icon component for rendering a Bulma-styled icon container.\n *\n * Supports Bulma helper classes for styling, color, and size, and renders an <i></i> element for the icon itself.\n *\n * @function\n * @param {IconProps} props - Props for the Icon component.\n * @returns {JSX.Element} The rendered icon element.\n * @see {@link https://bulma.io/documentation/elements/icon/ | Bulma Icon documentation}\n */\nexport const Icon: React.FC<IconProps> = ({\n className,\n textColor,\n bgColor,\n name,\n library = 'fa', // Font Awesome is default\n libraryFeatures,\n size,\n ariaLabel = 'icon',\n style,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const iconContainerClasses = classNames(\n 'icon',\n {\n [`is-${size}`]: size,\n },\n bulmaHelperClasses,\n className\n );\n\n const iClasses = getIconClasses(library, name, libraryFeatures);\n\n return (\n <span\n className={iconContainerClasses}\n aria-label={ariaLabel}\n style={style}\n {...rest}\n >\n <i className={iClasses} />\n </span>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\nimport { Icon, IconProps } from './Icon';\n\n/**\n * Represents an item for the IconText component, containing icon props and optional text.\n *\n * @property {IconProps} iconProps - Props for the Icon component.\n * @property {string} [text] - Optional text to display next to the icon.\n */\ninterface IconTextItem {\n iconProps: IconProps;\n text?: string;\n}\n\n/**\n * Props for the IconText component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {IconProps} [iconProps] - Props for a single Icon component.\n * @property {React.ReactNode} [children] - Text for a single icon.\n * @property {IconTextItem[]} [items] - Array of icon/text pairs for multiple icons.\n */\ninterface IconTextProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n iconProps?: IconProps; // For single icon\n children?: React.ReactNode; // Text for single icon\n items?: IconTextItem[]; // For multiple icons\n}\n\n/**\n * IconText component for rendering one or more icons with optional text, styled with Bulma.\n *\n * Supports Bulma helper classes for styling, color, and layout. Can render a single icon with text or multiple icon/text pairs.\n *\n * @function\n * @param {IconTextProps} props - Props for the IconText component.\n * @returns {JSX.Element} The rendered icon text element.\n * @see {@link https://bulma.io/documentation/elements/icon/#icon-text | Bulma IconText documentation}\n */\nexport const IconText: React.FC<IconTextProps> = ({\n className,\n textColor,\n bgColor,\n iconProps,\n children,\n items,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const iconTextClasses = classNames(\n 'icon-text',\n bulmaHelperClasses,\n className\n );\n\n return (\n <span className={iconTextClasses} {...rest}>\n {items ? (\n items.map((item, index) => (\n <React.Fragment key={index}>\n <Icon {...item.iconProps} />\n {item.text && <span>{item.text}</span>}\n </React.Fragment>\n ))\n ) : (\n <>\n {iconProps && <Icon {...iconProps} />}\n {children && <span>{children}</span>}\n </>\n )}\n </span>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Image component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the image container.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {string} [size] - Size or aspect ratio modifier (e.g., '128x128', '16by9', etc.).\n * @property {boolean} [isRounded] - Whether the image should have rounded corners.\n * @property {boolean} [isRetina] - Whether to use retina (2x) image source.\n * @property {string} [src] - Image source URL.\n * @property {string} [alt] - Alternate text for the image.\n * @property {React.ReactNode} [children] - Arbitrary children (e.g., iframe or custom content).\n * @property {'figure' | 'div' | 'p'} [as] - The tag to render. Defaults to 'figure', but can be 'p', 'div', etc.\n */\nexport interface ImageProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?:\n | '16x16'\n | '24x24'\n | '32x32'\n | '48x48'\n | '64x64'\n | '96x96'\n | '128x128'\n | 'square'\n | '1by1'\n | '5by4'\n | '4by3'\n | '3by2'\n | '5by3'\n | '16by9'\n | '2by1'\n | '3by1'\n | '4by5'\n | '3by4'\n | '2by3'\n | '3by5'\n | '9by16'\n | '1by2'\n | '1by3';\n isRounded?: boolean;\n isRetina?: boolean;\n src?: string;\n alt?: string;\n children?: React.ReactNode;\n as?: 'figure' | 'div' | 'p';\n}\n\n/**\n * Image component for rendering a styled Bulma image element.\n *\n * Supports fixed-size containers, aspect ratios, rounded images, retina images, and arbitrary children (e.g., iframe).\n *\n * The \"as\" prop allows rendering as \"figure\", \"p\", or \"div\" tags etc.\n *\n * @function\n * @param {ImageProps} props - Props for the Image component.\n * @returns {JSX.Element} The rendered image element.\n * @see {@link https://bulma.io/documentation/elements/image/ | Bulma Image documentation}\n */\nexport const Image: React.FC<ImageProps> = ({\n as,\n className,\n textColor,\n bgColor,\n size,\n isRounded,\n isRetina,\n src,\n alt,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const imageClasses = classNames('image', className, bulmaHelperClasses, {\n [`is-${size}`]: size,\n 'has-ratio': size && typeof size === 'string' && size.includes('by'),\n });\n\n // Default tag logic: if \"as\" is provided, use it.\n // If not, use <figure> for aspect ratios or children, <div> otherwise.\n let Tag: 'figure' | 'div' | 'p';\n if (as) {\n Tag = as;\n } else if (size && typeof size === 'string' && size.includes('by')) {\n Tag = 'figure';\n } else {\n Tag = 'div';\n }\n\n const content = children ? (\n children\n ) : (\n <img\n className={classNames({ 'is-rounded': isRounded })}\n src={src}\n alt={alt}\n {...(isRetina && src ? { srcSet: `${src} 2x` } : {})}\n />\n );\n\n return (\n <Tag className={imageClasses} {...rest}>\n {content}\n </Tag>\n );\n};\n\nexport default Image;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Notification component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number]} [color] - Bulma color modifier for the notification.\n * @property {boolean} [isLight] - Use the light color variant.\n * @property {boolean} [hasDelete] - Show a delete (close) button.\n * @property {() => void} [onDelete] - Callback fired when the delete button is clicked.\n * @property {React.ReactNode} [children] - Content to be rendered inside the notification.\n */\nexport interface NotificationProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number];\n isLight?: boolean;\n hasDelete?: boolean;\n onDelete?: () => void;\n children?: React.ReactNode;\n}\n\n/**\n * Notification component for rendering a styled Bulma notification.\n *\n * Supports colors, light variants, a delete button, and arbitrary content.\n *\n * @function\n * @param {NotificationProps} props - Props for the Notification component.\n * @returns {JSX.Element} The rendered notification element.\n * @see {@link https://bulma.io/documentation/elements/notification/ | Bulma Notification documentation}\n */\nexport const Notification: React.FC<NotificationProps> = ({\n className,\n color,\n isLight,\n hasDelete,\n onDelete,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const notificationClasses = classNames(\n 'notification',\n className,\n bulmaHelperClasses,\n {\n [`is-${color}`]: color && validColors.includes(color),\n 'is-light': isLight,\n }\n );\n\n return (\n <div className={notificationClasses} {...rest}>\n {hasDelete && (\n <button\n className=\"delete\"\n onClick={onDelete}\n aria-label=\"Close notification\"\n />\n )}\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Progress component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number]} [color] - Bulma color modifier for the progress bar.\n * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the progress bar.\n * @property {number} [value] - Current value of the progress bar.\n * @property {number} [max] - Maximum value of the progress bar.\n * @property {React.ReactNode} [children] - Optional custom content inside the progress element.\n */\nexport interface ProgressProps\n extends React.ProgressHTMLAttributes<HTMLProgressElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number];\n size?: 'small' | 'medium' | 'large';\n value?: number;\n max?: number;\n children?: React.ReactNode;\n}\n\n/**\n * Progress component for rendering a styled Bulma progress bar.\n *\n * Supports Bulma color and size modifiers, value/max attributes, and optional custom content.\n *\n * @function\n * @param {ProgressProps} props - Props for the Progress component.\n * @returns {JSX.Element} The rendered progress bar element.\n * @see {@link https://bulma.io/documentation/elements/progress/ | Bulma Progress documentation}\n */\nexport const Progress: React.FC<ProgressProps> = ({\n className,\n color,\n size,\n value,\n max,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const progressClasses = classNames(\n 'progress',\n className,\n bulmaHelperClasses,\n {\n [`is-${color}`]: color && validColors.includes(color),\n [`is-${size}`]: size,\n }\n );\n\n return (\n <progress className={progressClasses} value={value} max={max} {...rest}>\n {children}\n </progress>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validSubTitleSizes = ['1', '2', '3', '4', '5', '6'] as const;\n/**\n * Valid size values for the SubTitle component (Bulma subtitle sizes).\n */\nexport type SubTitleSize = (typeof validSubTitleSizes)[number];\n\nconst validSubTitleElements = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'p',\n] as const;\n/**\n * Valid HTML elements for the SubTitle component.\n */\nexport type SubTitleElement = (typeof validSubTitleElements)[number];\n\n/**\n * Props for the SubTitle component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {SubTitleSize} [size] - Size of the subtitle (1-6).\n * @property {SubTitleElement} [as='h1'] - HTML element to render as (h1-h6 or p).\n * @property {React.ReactNode} [children] - Subtitle content.\n */\nexport interface SubTitleProps\n extends Omit<\n React.HTMLAttributes<HTMLHeadingElement | HTMLParagraphElement>,\n 'color'\n >,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n size?: SubTitleSize;\n as?: SubTitleElement;\n children?: React.ReactNode;\n}\n\n/**\n * SubTitle component for rendering a styled Bulma subtitle.\n *\n * Supports Bulma subtitle sizes and rendering as different HTML elements (h1-h6, p).\n *\n * @function\n * @param {SubTitleProps} props - Props for the SubTitle component.\n * @returns {JSX.Element} The rendered subtitle element.\n * @see {@link https://bulma.io/documentation/elements/title/#subtitle | Bulma Subtitle documentation}\n */\nexport const SubTitle: React.FC<SubTitleProps> = ({\n className,\n size,\n as = 'h1',\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n // Validate 'as' prop at runtime\n const element = validSubTitleElements.includes(as) ? as : 'h1';\n\n // Validate 'size' prop at runtime\n const validSize =\n size && validSubTitleSizes.includes(size) ? size : undefined;\n\n const subTitleClasses = classNames(\n 'subtitle',\n className,\n bulmaHelperClasses,\n {\n [`is-${validSize}`]: validSize,\n }\n );\n\n // Determine the tag based on 'element' and 'validSize'\n const Tag: React.ElementType =\n element === 'p' ? 'p' : validSize ? `h${validSize}` : element;\n\n return (\n <Tag className={subTitleClasses} {...rest}>\n {children}\n </Tag>\n );\n};\n\nexport default SubTitle;\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Table component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [isBordered] - Adds borders to all the cells.\n * @property {boolean} [isStriped] - Adds zebra-striping to rows.\n * @property {boolean} [isNarrow] - Makes the table more compact by cutting cell padding in half.\n * @property {boolean} [isHoverable] - Adds a hover effect on rows.\n * @property {boolean} [isFullwidth] - Makes the table span the full width of its parent.\n * @property {boolean} [isResponsive] - Makes the table horizontally scrollable on small screens.\n * @property {React.ReactNode} [children] - Table content.\n */\nexport interface TableProps\n extends Omit<React.TableHTMLAttributes<HTMLTableElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n isBordered?: boolean;\n isStriped?: boolean;\n isNarrow?: boolean;\n isHoverable?: boolean;\n isFullwidth?: boolean;\n isResponsive?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Table component for rendering a styled Bulma table.\n *\n * Supports responsive, bordered, striped, narrow, hoverable, and fullwidth variants.\n *\n * @function\n * @param {TableProps} props - Props for the Table component.\n * @returns {JSX.Element} The rendered table element.\n * @see {@link https://bulma.io/documentation/elements/table/ | Bulma Table documentation}\n */\nexport const Table: React.FC<TableProps> = ({\n className,\n isBordered,\n isStriped,\n isNarrow,\n isHoverable,\n isFullwidth,\n isResponsive,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tableClasses = classNames('table', className, bulmaHelperClasses, {\n 'is-bordered': isBordered,\n 'is-striped': isStriped,\n 'is-narrow': isNarrow,\n 'is-hoverable': isHoverable,\n 'is-fullwidth': isFullwidth,\n });\n\n const tableElement = (\n <table className={tableClasses} {...rest}>\n {children}\n </table>\n );\n\n return isResponsive ? (\n <div className=\"table-container\">{tableElement}</div>\n ) : (\n tableElement\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validTagColors = [\n 'primary',\n 'link',\n 'info',\n 'success',\n 'warning',\n 'danger',\n 'black',\n 'dark',\n 'light',\n 'white',\n] as const;\n\n/**\n * Valid color values for the Tag component (Bulma tag colors).\n */\nexport type TagColor = (typeof validTagColors)[number];\n\nconst validTagSizes = ['normal', 'medium', 'large'] as const;\n/**\n * Valid size values for the Tag component (Bulma tag sizes).\n */\nexport type TagSize = (typeof validTagSizes)[number];\n\n/**\n * Props for the Tag component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TagColor} [color] - Bulma color modifier for the tag.\n * @property {TagSize} [size] - Size modifier for the tag.\n * @property {boolean} [isRounded] - Whether the tag should have rounded corners.\n * @property {boolean} [isDelete] - Whether the tag is a delete button.\n * @property {boolean} [isHoverable] - Whether the tag is hoverable.\n * @property {() => void} [onDelete] - Callback fired when the delete button is clicked.\n * @property {React.ReactNode} [children] - Tag content.\n */\nexport interface TagProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n color?: TagColor;\n size?: TagSize;\n isRounded?: boolean;\n isDelete?: boolean;\n isHoverable?: boolean;\n onDelete?: () => void;\n children?: React.ReactNode;\n}\n\n/**\n * Tag component for rendering a styled Bulma tag.\n *\n * Supports colors, sizes, rounded, delete, and hoverable variants.\n *\n * @function\n * @param {TagProps} props - Props for the Tag component.\n * @returns {JSX.Element} The rendered tag element.\n * @see {@link https://bulma.io/documentation/elements/tag/ | Bulma Tag documentation}\n */\nexport const Tag: React.FC<TagProps> = ({\n className,\n color,\n size,\n isRounded,\n isDelete,\n isHoverable,\n onDelete,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tagClasses = classNames('tag', className, bulmaHelperClasses, {\n [`is-${color}`]: color && validTagColors.includes(color),\n [`is-${size}`]: size && size !== 'normal' && validTagSizes.includes(size),\n 'is-rounded': isRounded,\n 'is-delete': isDelete,\n 'is-hoverable': isHoverable,\n });\n\n if (isDelete) {\n return (\n <button\n className={tagClasses}\n onClick={onDelete}\n aria-label=\"Delete tag\"\n {...rest}\n />\n );\n }\n\n return (\n <span className={tagClasses} {...rest}>\n {children}\n </span>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tags component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [hasAddons] - Group tags together as addons.\n * @property {boolean} [isMultiline] - Allow tags to wrap onto multiple lines.\n * @property {React.ReactNode} [children] - Tag elements to render inside the container.\n */\nexport interface TagsProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n hasAddons?: boolean;\n isMultiline?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Tags component for rendering a styled Bulma tags container.\n *\n * Supports addons and multiline variants.\n *\n * @function\n * @param {TagsProps} props - Props for the Tags component.\n * @returns {JSX.Element} The rendered tags container.\n * @see {@link https://bulma.io/documentation/elements/tag/#list-of-tags | Bulma Tags documentation}\n */\nexport const Tags: React.FC<TagsProps> = ({\n className,\n hasAddons,\n isMultiline,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tagsClasses = classNames('tags', className, bulmaHelperClasses, {\n 'has-addons': hasAddons,\n 'are-multiline': isMultiline,\n });\n\n return (\n <div className={tagsClasses} {...rest}>\n {children}\n </div>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tbody component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Table body content (rows).\n */\nexport interface TbodyProps\n extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Tbody component for rendering a styled Bulma table body.\n *\n * Supports Bulma helper classes for additional styling.\n *\n * @function\n * @param {TbodyProps} props - Props for the Tbody component.\n * @returns {JSX.Element} The rendered table body element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-body | Bulma Table documentation}\n */\nexport const Tbody: React.FC<TbodyProps> = ({\n className,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tbodyClasses = classNames(className, bulmaHelperClasses);\n\n return (\n <tbody className={tbodyClasses} {...rest}>\n {children}\n </tbody>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nexport const validTableColors = [\n 'primary',\n 'link',\n 'info',\n 'success',\n 'warning',\n 'danger',\n 'black',\n 'dark',\n 'light',\n 'white',\n] as const;\n\n/**\n * Valid color values for the Td component (Bulma table cell colors).\n */\nexport type TableColor = (typeof validTableColors)[number];\n\n/**\n * Props for the Td component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TableColor} [color] - Bulma color modifier for the table cell.\n * @property {React.ReactNode} [children] - Table cell content.\n */\nexport interface TdProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n color?: TableColor;\n children?: React.ReactNode;\n}\n\n/**\n * Td component for rendering a styled Bulma table cell.\n *\n * Supports Bulma color modifiers and helper classes for additional styling.\n *\n * @function\n * @param {TdProps} props - Props for the Td component.\n * @returns {JSX.Element} The rendered table cell element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-body | Bulma Table documentation}\n */\nexport const Td: React.FC<TdProps> = ({\n className,\n color,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tdClasses = classNames(className, bulmaHelperClasses, {\n [`is-${color}`]: color && validTableColors.includes(color),\n });\n\n return (\n <td className={tdClasses} {...rest}>\n {children}\n </td>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tfoot component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Table footer content (rows).\n */\nexport interface TfootProps\n extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Tfoot component for rendering a styled Bulma table footer.\n *\n * Supports Bulma helper classes for additional styling.\n *\n * @function\n * @param {TfootProps} props - Props for the Tfoot component.\n * @returns {JSX.Element} The rendered table footer element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-footer | Bulma Table documentation}\n */\nexport const Tfoot: React.FC<TfootProps> = ({\n className,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tfootClasses = classNames(className, bulmaHelperClasses);\n\n return (\n <tfoot className={tfootClasses} {...rest}>\n {children}\n </tfoot>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\nimport { TableColor, validTableColors } from './Td';\n\nconst validAlignments = ['left', 'right', 'centered'] as const;\n/**\n * Valid alignment values for the Th component.\n */\ntype TableAlignment = (typeof validAlignments)[number];\n\n/**\n * Props for the Th component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TableAlignment} [isAligned] - Text alignment for the header cell ('left', 'right', 'centered').\n * @property {string|number} [width] - Width of the header cell (e.g., '100px' or 100).\n * @property {TableColor} [color] - Bulma color modifier for the header cell.\n * @property {React.ReactNode} [children] - Table header cell content.\n */\nexport interface ThProps\n extends Omit<React.ThHTMLAttributes<HTMLTableCellElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n isAligned?: TableAlignment;\n width?: string | number;\n color?: TableColor;\n children?: React.ReactNode;\n}\n\n/**\n * Th component for rendering a styled Bulma table header cell.\n *\n * Supports alignment, width, and color modifiers.\n *\n * @function\n * @param {ThProps} props - Props for the Th component.\n * @returns {JSX.Element} The rendered table header cell element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-head | Bulma Table documentation}\n */\nexport const Th: React.FC<ThProps> = ({\n className,\n isAligned,\n width,\n color,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const thClasses = classNames(className, bulmaHelperClasses, {\n [`has-text-${isAligned}`]: isAligned && validAlignments.includes(isAligned),\n [`is-${color}`]: color && validTableColors.includes(color),\n });\n\n return (\n <th\n className={thClasses}\n style={\n width\n ? { width: typeof width === 'number' ? `${width}px` : width }\n : undefined\n }\n {...rest}\n >\n {children}\n </th>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Thead component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Table header content (rows).\n */\nexport interface TheadProps\n extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Thead component for rendering a styled Bulma table header.\n *\n * Supports Bulma helper classes for additional styling.\n *\n * @function\n * @param {TheadProps} props - Props for the Thead component.\n * @returns {JSX.Element} The rendered table header element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-head | Bulma Table documentation}\n */\nexport const Thead: React.FC<TheadProps> = ({\n className,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const theadClasses = classNames(className, bulmaHelperClasses);\n\n return (\n <thead className={theadClasses} {...rest}>\n {children}\n </thead>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validTitleSizes = ['1', '2', '3', '4', '5', '6'] as const;\n/**\n * Valid size values for the Title component (Bulma title sizes).\n */\nexport type TitleSize = (typeof validTitleSizes)[number];\n\nconst validTitleElements = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p'] as const;\n/**\n * Valid HTML elements for the Title component.\n */\nexport type TitleElement = (typeof validTitleElements)[number];\n\n/**\n * Props for the Title component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TitleSize} [size] - Size of the title (1-6).\n * @property {boolean} [isSpaced] - Adds margin below the title.\n * @property {TitleElement} [as='h1'] - HTML element to render as (h1-h6 or p).\n * @property {React.ReactNode} [children] - Title content.\n */\nexport interface TitleProps\n extends Omit<\n React.HTMLAttributes<HTMLHeadingElement | HTMLParagraphElement>,\n 'color'\n >,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n size?: TitleSize;\n isSpaced?: boolean;\n as?: TitleElement;\n children?: React.ReactNode;\n}\n\n/**\n * Title component for rendering a styled Bulma title.\n *\n * Supports sizes, spacing, and rendering as different HTML elements.\n *\n * @function\n * @param {TitleProps} props - Props for the Title component.\n * @returns {JSX.Element} The rendered title element.\n * @see {@link https://bulma.io/documentation/elements/title/ | Bulma Title documentation}\n */\nexport const Title: React.FC<TitleProps> = ({\n className,\n size,\n isSpaced,\n as = 'h1',\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n // Validate 'as' prop at runtime\n const element = validTitleElements.includes(as) ? as : 'h1';\n\n // Validate 'size' prop at runtime\n const validSize = size && validTitleSizes.includes(size) ? size : undefined;\n\n const titleClasses = classNames('title', className, bulmaHelperClasses, {\n [`is-${validSize}`]: validSize,\n 'is-spaced': isSpaced,\n });\n\n // Determine the tag based on 'element' and 'validSize'\n const Tag: React.ElementType =\n element === 'p' ? 'p' : validSize ? `h${validSize}` : element;\n\n return (\n <Tag className={titleClasses} {...rest}>\n {children}\n </Tag>\n );\n};\n\nexport default Title;\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\nimport { TableColor, validTableColors } from './Td'; // Import TableColor from Td\n\n/**\n * Props for the Tr component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [isSelected] - Whether the row is selected (adds Bulma's is-selected class).\n * @property {TableColor} [color] - Bulma color modifier for the table row.\n * @property {React.ReactNode} [children] - Table row content (cells).\n */\nexport interface TrProps\n extends Omit<React.HTMLAttributes<HTMLTableRowElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n isSelected?: boolean;\n color?: TableColor;\n children?: React.ReactNode;\n}\n\n/**\n * Tr component for rendering a styled Bulma table row.\n *\n * Supports the is-selected modifier and color modifiers.\n *\n * @function\n * @param {TrProps} props - Props for the Tr component.\n * @returns {JSX.Element} The rendered table row element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-row | Bulma Table documentation}\n */\nexport const Tr: React.FC<TrProps> = ({\n className,\n isSelected,\n color,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const trClasses = classNames(className, bulmaHelperClasses, {\n 'is-selected': isSelected,\n [`is-${color}`]: color && validTableColors.includes(color),\n });\n\n return (\n <tr className={trClasses} {...rest}>\n {children}\n </tr>\n );\n};\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Checkbox component.\n *\n * @property {boolean} [disabled] - Whether the checkbox is disabled.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - The label/content for the checkbox.\n * @see Bulma Checkbox documentation: https://bulma.io/documentation/form/checkbox/\n */\nexport interface CheckboxProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'>,\n Omit<BulmaClassesProps, 'color'> {\n disabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Checkbox component with Bulma helper classes support.\n * The label is provided via the children prop.\n *\n * @function\n * @param {CheckboxProps} props - Props for the Checkbox component.\n * @returns {JSX.Element} The rendered checkbox element.\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ disabled, className, children, ...props }, ref) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const checkboxClass = classNames('checkbox', bulmaHelperClasses, className);\n\n return (\n <label className={checkboxClass}>\n <input ref={ref} type=\"checkbox\" disabled={disabled} {...rest} />\n {children}\n </label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Checkboxes component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Checkbox elements to render in the group.\n */\nexport interface CheckboxesProps extends Omit<BulmaClassesProps, 'color'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Wraps Checkbox components inside a Bulma 'checkboxes' wrapper.\n * Leverages useBulmaClasses for consistency with other components.\n *\n * @function\n * @param {CheckboxesProps} props - Props for the Checkboxes component.\n * @returns {JSX.Element} The rendered checkboxes group.\n * @see {@link https://bulma.io/documentation/form/checkbox/#grouped-checkboxes | Bulma Checkboxes documentation}\n */\nexport const Checkboxes: React.FC<CheckboxesProps> = ({\n children,\n className,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const wrapperClass = classNames('checkboxes', bulmaHelperClasses, className);\n\n return (\n <div className={wrapperClass} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Checkboxes;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\nimport { Icon, IconProps } from '../elements/Icon';\n\n/**\n * Props for the Control component.\n *\n * @property {boolean} [hasIconsLeft] - Adds left icon container.\n * @property {boolean} [hasIconsRight] - Adds right icon container.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {boolean} [isExpanded] - Makes the control expand to fill available space.\n * @property {'small'|'medium'|'large'} [size] - Sets the control size.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Sets text color.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the control.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {IconProps} [iconLeft] - Icon props for left icon.\n * @property {IconProps} [iconRight] - Icon props for right icon.\n * @property {string} [iconLeftName] - Shortcut for left icon name.\n * @property {'small'|'medium'|'large'} [iconLeftSize] - Shortcut for left icon size.\n * @property {string} [iconRightName] - Shortcut for right icon name.\n * @property {'small'|'medium'|'large'} [iconRightSize] - Shortcut for right icon size.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Content inside the control.\n * @property {'div'|'p'} [as] - Element type for the control (default: 'div').\n * @property {React.Ref<HTMLDivElement|HTMLParagraphElement>} [ref] - Ref for the control element.\n */\nexport interface ControlBaseProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n hasIconsLeft?: boolean;\n hasIconsRight?: boolean;\n isLoading?: boolean;\n isExpanded?: boolean;\n size?: 'small' | 'medium' | 'large';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n iconLeft?: IconProps;\n iconRight?: IconProps;\n iconLeftName?: string;\n iconLeftSize?: 'small' | 'medium' | 'large';\n iconRightName?: string;\n iconRightSize?: 'small' | 'medium' | 'large';\n className?: string;\n children?: React.ReactNode;\n}\n\ntype ControlProps =\n | ({ as?: 'div' } & ControlBaseProps & { ref?: React.Ref<HTMLDivElement> })\n | ({ as: 'p' } & Omit<\n ControlBaseProps,\n keyof React.HTMLAttributes<HTMLDivElement>\n > &\n React.HTMLAttributes<HTMLParagraphElement> & {\n ref?: React.Ref<HTMLParagraphElement>;\n });\n\nconst allowedColors = [...validColors, 'inherit', 'current'] as const;\n\n/**\n * Bulma Control component for form controls, with icons, loading, and Bulma helper support.\n *\n * @function\n * @param {ControlProps} props - Props for the Control component.\n * @returns {JSX.Element} The rendered control container.\n * @see {@link https://bulma.io/documentation/form/general/#control | Bulma Control documentation}\n */\nexport const Control = React.forwardRef<\n HTMLDivElement | HTMLParagraphElement,\n ControlProps\n>(\n (\n {\n as = 'div',\n hasIconsLeft,\n hasIconsRight,\n isLoading,\n isExpanded,\n size,\n textColor,\n bgColor,\n iconLeft,\n iconRight,\n iconLeftName,\n iconLeftSize,\n iconRightName,\n iconRightSize,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const Component = (as === 'p' ? 'p' : 'div') as 'div' | 'p';\n\n // Remove textColor/bgColor from props before spreading\n const {\n textColor: _ignoredTextColor,\n bgColor: _ignoredBgColor,\n ...restProps\n } = props as Record<string, unknown>;\n\n const safeTextColor = allowedColors.includes(\n textColor as (typeof allowedColors)[number]\n )\n ? textColor\n : undefined;\n\n const safeBgColor = allowedColors.includes(\n bgColor as (typeof allowedColors)[number]\n )\n ? bgColor\n : undefined;\n\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: safeTextColor,\n backgroundColor: safeBgColor,\n ...restProps,\n });\n\n // Prepare icon props for the shortcut\n const leftIconProps: IconProps | undefined =\n iconLeft ||\n (iconLeftName\n ? {\n name: iconLeftName,\n size: iconLeftSize,\n }\n : undefined);\n\n const rightIconProps: IconProps | undefined =\n iconRight ||\n (iconRightName\n ? {\n name: iconRightName,\n size: iconRightSize,\n }\n : undefined);\n\n const controlClass = classNames(\n 'control',\n bulmaHelperClasses,\n {\n 'has-icons-left': hasIconsLeft || !!leftIconProps,\n 'has-icons-right': hasIconsRight || !!rightIconProps,\n 'is-loading': isLoading,\n 'is-expanded': isExpanded,\n [`is-${size}`]: !!size,\n },\n className\n );\n\n // --- FIX: Spread both restProps (for data-testid, etc) AND rest (from useBulmaClasses) ---\n return (\n <Component\n className={controlClass}\n ref={ref as typeof ref}\n {...restProps}\n {...rest}\n >\n {children}\n {leftIconProps && leftIconProps.name && (\n <Icon {...leftIconProps} className=\"is-left\" />\n )}\n {rightIconProps && rightIconProps.name && (\n <Icon {...rightIconProps} className=\"is-right\" />\n )}\n </Component>\n );\n }\n);\n\nControl.displayName = 'Control';\n\nexport default Control;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Field component.\n *\n * @property {boolean} [horizontal] - Renders the field as horizontal (label and control side by side).\n * @property {boolean|'centered'|'right'|'multiline'} [grouped] - Group controls in a row (optionally centered, right, or multiline).\n * @property {boolean} [hasAddons] - Group controls as addons.\n * @property {React.ReactNode} [label] - Field label.\n * @property {'small'|'normal'|'medium'|'large'} [labelSize] - Size for the label.\n * @property {object} [labelProps] - Props for the label element.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the field.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the field.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the field.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Field content.\n */\nexport interface FieldProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n horizontal?: boolean;\n grouped?: boolean | 'centered' | 'right' | 'multiline';\n hasAddons?: boolean;\n label?: React.ReactNode;\n labelSize?: 'small' | 'normal' | 'medium' | 'large';\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement> & {\n [key: string]: unknown;\n };\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the FieldLabel component.\n *\n * @property {'small'|'normal'|'medium'|'large'} [size] - Size for the field label.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the label.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the label.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the label.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Field label content.\n */\nexport interface FieldLabelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n size?: 'small' | 'normal' | 'medium' | 'large';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the FieldBody component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the field body.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the field body.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the field body.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Field body content.\n */\nexport interface FieldBodyProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * FieldLabel component for rendering a Bulma field label.\n *\n * @function\n * @param {FieldLabelProps} props - Props for the FieldLabel component.\n * @returns {JSX.Element} The rendered field label.\n */\nexport const FieldLabel: React.FC<FieldLabelProps> = ({\n size,\n textColor,\n bgColor,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const fieldLabelClass = classNames(\n 'field-label',\n bulmaHelperClasses,\n { [`is-${size}`]: size },\n className\n );\n // Spread ...props and ...rest so custom props like data-testid are included\n return (\n <div className={fieldLabelClass} {...props} {...rest}>\n {children}\n </div>\n );\n};\n\n/**\n * FieldBody component for rendering Bulma field body.\n *\n * @function\n * @param {FieldBodyProps} props - Props for the FieldBody component.\n * @returns {JSX.Element} The rendered field body.\n */\nexport const FieldBody: React.FC<FieldBodyProps> = ({\n textColor,\n bgColor,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const fieldBodyClass = classNames(\n 'field-body',\n bulmaHelperClasses,\n className\n );\n // Spread ...props and ...rest so custom props like data-testid are included\n return (\n <div className={fieldBodyClass} {...props} {...rest}>\n {children}\n </div>\n );\n};\n\n/**\n * Field component for rendering a Bulma field container.\n * Supports horizontal, grouped, and labelled fields.\n *\n * @function\n * @param {FieldProps} props - Props for the Field component.\n * @returns {JSX.Element} The rendered field container.\n * @see {@link https://bulma.io/documentation/form/general/#field | Bulma Field documentation}\n */\nexport const Field: React.FC<FieldProps> & {\n Label: typeof FieldLabel;\n Body: typeof FieldBody;\n} = ({\n horizontal,\n grouped,\n hasAddons,\n label,\n labelSize,\n labelProps,\n textColor,\n bgColor,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const fieldClass = classNames(\n 'field',\n bulmaHelperClasses,\n {\n 'is-horizontal': horizontal,\n 'has-addons': !!hasAddons,\n 'is-grouped':\n grouped === true ||\n grouped === 'centered' ||\n grouped === 'right' ||\n grouped === 'multiline',\n 'is-grouped-centered': grouped === 'centered',\n 'is-grouped-right': grouped === 'right',\n 'is-grouped-multiline': grouped === 'multiline',\n },\n className\n );\n\n // Map 'normal' to undefined for FieldLabel size prop\n const mappedLabelSize: FieldLabelProps['size'] =\n labelSize === 'normal' ? undefined : labelSize;\n\n let renderedLabel = null;\n if (label) {\n if (horizontal) {\n renderedLabel = (\n <FieldLabel size={mappedLabelSize}>\n <label\n {...labelProps}\n className={classNames('label', labelProps?.className)}\n style={labelProps?.style}\n >\n {label}\n </label>\n </FieldLabel>\n );\n } else {\n renderedLabel = (\n <label\n {...labelProps}\n className={classNames('label', labelProps?.className)}\n style={{ display: 'block', ...(labelProps?.style || {}) }}\n >\n {label}\n </label>\n );\n }\n }\n\n // If horizontal, wrap children in FieldBody (unless children is already a FieldBody)\n let content = children;\n if (horizontal) {\n // If children is a FieldBody already, don't double wrap\n // Simple check using displayName\n if (\n React.isValidElement(children) &&\n // @ts-expect-error children.type && children.type.displayName &&\n (children.type === FieldBody || children.type.displayName === 'FieldBody')\n ) {\n content = children;\n } else {\n content = <FieldBody>{children}</FieldBody>;\n }\n }\n\n return (\n <div className={fieldClass} {...rest}>\n {renderedLabel}\n {content}\n </div>\n );\n};\n\nFieldLabel.displayName = 'FieldLabel';\nFieldBody.displayName = 'FieldBody';\nField.Label = FieldLabel;\nField.Body = FieldBody;\n\nexport default Field;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the File component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the file input.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the file input.\n * @property {boolean} [isBoxed] - Whether the file input is boxed.\n * @property {boolean} [isFullwidth] - Whether the file input expands to full width.\n * @property {boolean} [isRight] - Align file input to the right.\n * @property {boolean} [isCentered] - Center the file input.\n * @property {boolean} [hasName] - Show a file name indicator.\n * @property {React.ReactNode} [label] - Custom label text or node.\n * @property {React.ReactNode} [iconLeft] - Left icon element.\n * @property {React.ReactNode} [iconRight] - Right icon element.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {string} [inputClassName] - Additional CSS classes for the input.\n * @property {string} [fileName] - File name to display.\n */\nexport interface FileProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'color' | 'type'\n >,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isBoxed?: boolean;\n isFullwidth?: boolean;\n isRight?: boolean;\n isCentered?: boolean;\n hasName?: boolean;\n label?: React.ReactNode;\n iconLeft?: React.ReactNode;\n iconRight?: React.ReactNode;\n className?: string;\n inputClassName?: string;\n fileName?: string;\n}\n\n/**\n * Bulma File upload component with full Bulma helper class support.\n * isRight and isCentered are mutually exclusive (Bulma spec).\n *\n * @function\n * @param {FileProps} props - Props for the File component.\n * @returns {JSX.Element} The rendered file upload field.\n * @see {@link https://bulma.io/documentation/form/file/ | Bulma File documentation}\n */\nexport const File = forwardRef<HTMLInputElement, FileProps>(\n (\n {\n color,\n size,\n isBoxed,\n isFullwidth,\n isRight,\n isCentered,\n hasName,\n label,\n iconLeft,\n iconRight,\n className,\n inputClassName,\n fileName,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n // Mutually exclusive alignment\n let alignmentClass: string | undefined;\n if (isRight && isCentered) {\n // If both are set, prefer isRight and warn in dev\n alignmentClass = 'is-right';\n } else if (isRight) {\n alignmentClass = 'is-right';\n } else if (isCentered) {\n alignmentClass = 'is-centered';\n }\n\n const fileClass = classNames(\n 'file',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-boxed': isBoxed,\n 'is-fullwidth': isFullwidth,\n 'has-name': hasName,\n },\n alignmentClass,\n className\n );\n\n return (\n <div className={fileClass}>\n <label className=\"file-label\">\n <input\n ref={ref}\n className={classNames('file-input', inputClassName)}\n type=\"file\"\n {...rest}\n />\n <span className=\"file-cta\">\n {iconLeft && <span className=\"file-icon\">{iconLeft}</span>}\n <span className=\"file-label\">{label || 'Choose a file…'}</span>\n {iconRight && <span className=\"file-icon\">{iconRight}</span>}\n </span>\n {hasName && fileName && <span className=\"file-name\">{fileName}</span>}\n </label>\n </div>\n );\n }\n);\n\nFile.displayName = 'File';\n\nexport default File;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Input component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the input.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the input.\n * @property {boolean} [isRounded] - Renders the input with rounded corners.\n * @property {boolean} [isStatic] - Renders the input as static text.\n * @property {boolean} [isHovered] - Applies the hovered state.\n * @property {boolean} [isFocused] - Applies the focused state.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [disabled] - Whether the input is disabled.\n * @property {boolean} [readOnly] - Whether the input is read-only.\n */\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isRounded?: boolean;\n isStatic?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isLoading?: boolean;\n className?: string;\n disabled?: boolean;\n readOnly?: boolean;\n}\n\n/**\n * Bulma Input component with full Bulma helper class support.\n *\n * @function\n * @param {InputProps} props - Props for the Input component.\n * @returns {JSX.Element} The rendered input element.\n * @see {@link https://bulma.io/documentation/form/input/ | Bulma Input documentation}\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n color,\n size,\n isRounded,\n isStatic,\n isHovered,\n isFocused,\n isLoading,\n className,\n disabled,\n readOnly,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const inputClass = classNames(\n 'input',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-rounded': isRounded,\n 'is-static': isStatic,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'is-loading': isLoading,\n },\n className\n );\n\n return (\n <input\n ref={ref}\n className={inputClass}\n disabled={disabled}\n readOnly={readOnly}\n {...rest}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport default Input;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Radio component.\n *\n * @property {boolean} [disabled] - Whether the radio is disabled.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - The label/content for the radio.\n * @see Bulma Radio documentation: https://bulma.io/documentation/form/radio/\n */\nexport interface RadioProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'>,\n Omit<BulmaClassesProps, 'color'> {\n disabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Radio component with Bulma helper classes support.\n * The label is provided via the children prop.\n *\n * @function\n * @param {RadioProps} props - Props for the Radio component.\n * @returns {JSX.Element} The rendered radio element.\n */\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n ({ disabled, className, children, ...props }, ref) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const radioClass = classNames('radio', bulmaHelperClasses, className);\n\n return (\n <label className={radioClass}>\n <input ref={ref} type=\"radio\" disabled={disabled} {...rest} />\n {children}\n </label>\n );\n }\n);\n\nRadio.displayName = 'Radio';\n\nexport default Radio;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Radios component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} children - Radio elements to render in the group.\n */\nexport interface RadiosProps extends Omit<BulmaClassesProps, 'color'> {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Wraps Radio components inside a Bulma 'radios' wrapper.\n * Leverages useBulmaClasses for consistency with other components.\n *\n * @function\n * @param {RadiosProps} props - Props for the Radios component.\n * @returns {JSX.Element} The rendered radios group.\n * @see {@link https://bulma.io/documentation/form/radio/#grouped-radios | Bulma Radios documentation}\n */\nexport const Radios: React.FC<RadiosProps> = ({\n children,\n className,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const wrapperClass = classNames('radios', bulmaHelperClasses, className);\n\n return (\n <div className={wrapperClass} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Radios;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Select component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the select.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the select.\n * @property {boolean} [isRounded] - Renders the select with rounded corners.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {boolean} [isActive] - Applies Bulma's is-active modifier.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [disabled] - Whether the select is disabled.\n * @property {boolean} [multiple] - Whether the select allows multiple values.\n * @property {number} [multipleSize] - For multiple select: number of visible options.\n * @property {React.ReactNode} [children] - Option elements.\n */\nexport interface SelectProps\n extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'>,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isRounded?: boolean;\n isLoading?: boolean;\n isActive?: boolean;\n className?: string;\n disabled?: boolean;\n multiple?: boolean;\n multipleSize?: number;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Select component with full Bulma helper class support.\n *\n * @function\n * @param {SelectProps} props - Props for the Select component.\n * @returns {JSX.Element} The rendered select element.\n * @see {@link https://bulma.io/documentation/form/select/ | Bulma Select documentation}\n */\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n color,\n size,\n isRounded,\n isLoading,\n isActive,\n className,\n disabled,\n children,\n multiple,\n multipleSize,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const selectClass = classNames(\n 'select',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-rounded': isRounded,\n 'is-loading': isLoading,\n 'is-active': isActive,\n },\n className\n );\n\n // Only set size attribute when multiple is true and multipleSize is specified\n const selectProps: React.SelectHTMLAttributes<HTMLSelectElement> = {\n disabled,\n multiple,\n ...rest,\n };\n\n if (multiple && typeof multipleSize === 'number') {\n selectProps.size = multipleSize;\n }\n\n return (\n <div className={selectClass}>\n <select ref={ref} {...selectProps}>\n {children}\n </select>\n </div>\n );\n }\n);\n\nSelect.displayName = 'Select';\n\nexport default Select;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the TextArea component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the textarea.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the textarea.\n * @property {boolean} [isRounded] - Renders the textarea with rounded corners.\n * @property {boolean} [isStatic] - Renders the textarea as static text.\n * @property {boolean} [isHovered] - Applies the hovered state.\n * @property {boolean} [isFocused] - Applies the focused state.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {boolean} [isActive] - Applies Bulma's is-active modifier.\n * @property {boolean} [hasFixedSize] - Applies Bulma's has-fixed-size modifier.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [disabled] - Whether the textarea is disabled.\n * @property {boolean} [readOnly] - Whether the textarea is read-only.\n * @property {number} [rows] - Number of visible text lines.\n */\nexport interface TextAreaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isRounded?: boolean;\n isStatic?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isLoading?: boolean;\n isActive?: boolean;\n hasFixedSize?: boolean;\n className?: string;\n disabled?: boolean;\n readOnly?: boolean;\n rows?: number;\n}\n\n/**\n * Bulma TextArea component with full Bulma helper class support.\n *\n * @function\n * @param {TextAreaProps} props - Props for the TextArea component.\n * @returns {JSX.Element} The rendered textarea element.\n * @see {@link https://bulma.io/documentation/form/textarea/ | Bulma Textarea documentation}\n */\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n color,\n size,\n isRounded,\n isStatic,\n isHovered,\n isFocused,\n isLoading,\n isActive,\n hasFixedSize,\n className,\n disabled,\n readOnly,\n rows,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const textareaClass = classNames(\n 'textarea',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-rounded': isRounded,\n 'is-static': isStatic,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'is-loading': isLoading,\n 'is-active': isActive,\n 'has-fixed-size': hasFixedSize,\n },\n className\n );\n\n return (\n <textarea\n ref={ref}\n className={textareaClass}\n disabled={disabled}\n readOnly={readOnly}\n rows={rows}\n {...rest}\n />\n );\n }\n);\nTextArea.displayName = 'TextArea';\n\nexport default TextArea;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Type for grid cell span values.\n */\nexport type CellSpanValue = number;\n\n/**\n * Props for the Cell component.\n *\n * @property {number} [colStart] - Which column the cell starts at (Bulma: is-col-start-x).\n * @property {number} [colFromEnd] - Which column the cell ends at, counting from the end (Bulma: is-col-from-end-x).\n * @property {CellSpanValue} [colSpan] - How many columns the cell will span (Bulma: is-col-span-x).\n * @property {number} [rowStart] - Which row the cell starts at (Bulma: is-row-start-x).\n * @property {number} [rowFromEnd] - Which row the cell ends at, counting from the end (Bulma: is-row-from-end-x).\n * @property {CellSpanValue} [rowSpan] - How many rows the cell will span (Bulma: is-row-span-x).\n * @property {string} [className] - Additional CSS class names.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the cell.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {React.ReactNode} [children] - Children to render inside the cell.\n */\nexport interface CellProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n colStart?: number;\n colFromEnd?: number;\n colSpan?: CellSpanValue;\n rowStart?: number;\n rowFromEnd?: number;\n rowSpan?: CellSpanValue;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma grid cell class names for the Cell component.\n */\nfunction getCellGridClasses(props: CellProps): string[] {\n const classes: string[] = [];\n\n if (props.colStart !== undefined)\n classes.push(`is-col-start-${props.colStart}`);\n if (props.colFromEnd !== undefined)\n classes.push(`is-col-from-end-${props.colFromEnd}`);\n if (props.colSpan !== undefined) classes.push(`is-col-span-${props.colSpan}`);\n\n if (props.rowStart !== undefined)\n classes.push(`is-row-start-${props.rowStart}`);\n if (props.rowFromEnd !== undefined)\n classes.push(`is-row-from-end-${props.rowFromEnd}`);\n if (props.rowSpan !== undefined) classes.push(`is-row-span-${props.rowSpan}`);\n\n return classes;\n}\n\n/**\n * Bulma Cell component for CSS Grid layouts.\n *\n * @function\n * @param {CellProps} props - Props for the Cell component.\n * @returns {JSX.Element} The rendered grid cell.\n * @see {@link https://bulma.io/documentation/grid/ | Bulma Grid documentation}\n */\nexport const Cell: React.FC<CellProps> = ({\n colStart,\n colFromEnd,\n colSpan,\n rowStart,\n rowFromEnd,\n rowSpan,\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n const cellClasses = classNames(\n 'cell',\n ...getCellGridClasses({\n colStart,\n colFromEnd,\n colSpan,\n rowStart,\n rowFromEnd,\n rowSpan,\n }),\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={cellClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Allowed gap values for Bulma grid.\n */\nexport type BulmaGapValue = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n/**\n * Allowed minimum column values for Bulma grid.\n */\nexport type BulmaMinColValue =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 13\n | 14\n | 15\n | 16\n | 17\n | 18\n | 19\n | 20\n | 21\n | 22\n | 23\n | 24\n | 25\n | 26\n | 27\n | 28\n | 29\n | 30\n | 31\n | 32;\n/**\n * Allowed fixed grid columns for Bulma grid.\n */\nexport type BulmaFixedGridCols =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12;\n/**\n * Allowed fixed grid columns prop for Bulma grid.\n */\nexport type BulmaFixedGridColsProp = BulmaFixedGridCols | 'auto';\n\n/**\n * Props for the Grid component.\n *\n * @property {boolean} [isFixed] - Use a fixed grid layout (Bulma's .fixed-grid > .grid).\n * @property {BulmaGapValue} [gap] - Main gap for grid (applies is-gap-X, 0-8).\n * @property {BulmaGapValue} [columnGap] - Column gap for grid (applies is-column-gap-X, 0-8).\n * @property {BulmaGapValue} [rowGap] - Row gap for grid (applies is-row-gap-X, 0-8).\n * @property {BulmaMinColValue} [minCol] - Minimum column width for the grid (applies is-col-min-X, 1-32).\n * @property {BulmaFixedGridColsProp} [fixedCols] - For fixed grid only: explicit column count (applies has-X-cols, 0-12), or 'auto' for has-auto-count.\n * @property {BulmaFixedGridCols} [fixedColsMobile] - For fixed grid only: explicit column count for mobile.\n * @property {BulmaFixedGridCols} [fixedColsTablet] - For fixed grid only: explicit column count for tablet.\n * @property {BulmaFixedGridCols} [fixedColsDesktop] - For fixed grid only: explicit column count for desktop.\n * @property {BulmaFixedGridCols} [fixedColsWidescreen] - For fixed grid only: explicit column count for widescreen.\n * @property {BulmaFixedGridCols} [fixedColsFullhd] - For fixed grid only: explicit column count for fullhd.\n * @property {string} [className] - Additional CSS class names.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the grid.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {React.ReactNode} [children] - Children to render inside the grid.\n */\nexport interface GridProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n isFixed?: boolean;\n gap?: BulmaGapValue;\n columnGap?: BulmaGapValue;\n rowGap?: BulmaGapValue;\n minCol?: BulmaMinColValue;\n fixedCols?: BulmaFixedGridColsProp;\n fixedColsMobile?: BulmaFixedGridCols;\n fixedColsTablet?: BulmaFixedGridCols;\n fixedColsDesktop?: BulmaFixedGridCols;\n fixedColsWidescreen?: BulmaFixedGridCols;\n fixedColsFullhd?: BulmaFixedGridCols;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma grid inner classes for the Grid component.\n */\nfunction getGridInnerClasses({\n gap,\n columnGap,\n rowGap,\n minCol,\n}: Pick<GridProps, 'gap' | 'columnGap' | 'rowGap' | 'minCol'>): string[] {\n const classes: string[] = [];\n if (gap !== undefined) classes.push(`is-gap-${gap}`);\n if (columnGap !== undefined) classes.push(`is-column-gap-${columnGap}`);\n if (rowGap !== undefined) classes.push(`is-row-gap-${rowGap}`);\n if (minCol !== undefined) classes.push(`is-col-min-${minCol}`);\n return classes;\n}\n\n/**\n * Builds Bulma fixed grid classes for the Grid component.\n */\nfunction getFixedGridClasses({\n fixedCols,\n fixedColsMobile,\n fixedColsTablet,\n fixedColsDesktop,\n fixedColsWidescreen,\n fixedColsFullhd,\n}: Pick<\n GridProps,\n | 'fixedCols'\n | 'fixedColsMobile'\n | 'fixedColsTablet'\n | 'fixedColsDesktop'\n | 'fixedColsWidescreen'\n | 'fixedColsFullhd'\n>): string[] {\n const classes: string[] = [];\n if (fixedCols === 'auto') {\n // 'auto' overrides all other column settings\n classes.push('has-auto-count');\n return classes;\n }\n if (fixedCols !== undefined) classes.push(`has-${fixedCols}-cols`);\n if (fixedColsMobile !== undefined)\n classes.push(`has-${fixedColsMobile}-cols-mobile`);\n if (fixedColsTablet !== undefined)\n classes.push(`has-${fixedColsTablet}-cols-tablet`);\n if (fixedColsDesktop !== undefined)\n classes.push(`has-${fixedColsDesktop}-cols-desktop`);\n if (fixedColsWidescreen !== undefined)\n classes.push(`has-${fixedColsWidescreen}-cols-widescreen`);\n if (fixedColsFullhd !== undefined)\n classes.push(`has-${fixedColsFullhd}-cols-fullhd`);\n return classes;\n}\n\n/**\n * Bulma Grid component for CSS Grid layouts, supports both fixed and responsive grid modes.\n *\n * @function\n * @param {GridProps} props - Props for the Grid component.\n * @returns {JSX.Element} The rendered grid.\n * @see {@link https://bulma.io/documentation/grid/ | Bulma Grid documentation}\n */\nexport const Grid: React.FC<GridProps> = ({\n isFixed = false,\n gap,\n columnGap,\n rowGap,\n minCol,\n fixedCols,\n fixedColsMobile,\n fixedColsTablet,\n fixedColsDesktop,\n fixedColsWidescreen,\n fixedColsFullhd,\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n // Map textColor and bgColor to color and backgroundColor for useBulmaClasses\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const gridClasses = classNames(\n 'grid',\n ...getGridInnerClasses({ gap, columnGap, rowGap, minCol }),\n bulmaHelperClasses,\n className\n );\n\n if (isFixed) {\n // Apply has-X-cols and responsive column count classes to the outer fixed-grid container\n const fixedGridClasses = classNames(\n 'fixed-grid',\n ...getFixedGridClasses({\n fixedCols,\n fixedColsMobile,\n fixedColsTablet,\n fixedColsDesktop,\n fixedColsWidescreen,\n fixedColsFullhd,\n })\n );\n return (\n <div className={fixedGridClasses}>\n <div className={gridClasses} {...rest}>\n {children}\n </div>\n </div>\n );\n }\n\n // Standard Bulma grid (not fixed)\n return (\n <div className={gridClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Bulma container breakpoints.\n */\nexport type ContainerBreakpoint = 'tablet' | 'desktop' | 'widescreen';\n\n/**\n * Props for the Container component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {boolean} [fluid] - Full-width container.\n * @property {boolean} [widescreen] - Container is widescreen.\n * @property {boolean} [fullhd] - Container is fullhd.\n * @property {ContainerBreakpoint} [breakpoint] - Responsive breakpoint.\n * @property {boolean} [isMax] - Use is-max-* class for breakpoint.\n * @property {React.ReactNode} [children] - Content inside the container.\n */\nexport interface ContainerProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n fluid?: boolean;\n widescreen?: boolean;\n fullhd?: boolean;\n breakpoint?: ContainerBreakpoint;\n isMax?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Container component for Bulma.\n * Adds optional responsive, fluid, and color support, including is-max-* and breakpoint classes.\n *\n * @function\n * @param {ContainerProps} props - Props for the Container component.\n * @returns {JSX.Element} The rendered container.\n * @see {@link https://bulma.io/documentation/layout/container/ | Bulma Container documentation}\n */\nexport const Container: React.FC<ContainerProps> = ({\n className,\n textColor,\n bgColor,\n fluid,\n widescreen,\n fullhd,\n breakpoint,\n isMax,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n // Only allow isMax for supported breakpoints\n const validMaxBreakpoints: ContainerBreakpoint[] = [\n 'tablet',\n 'desktop',\n 'widescreen',\n ];\n let breakpointClass: string | undefined;\n if (breakpoint) {\n if (isMax && validMaxBreakpoints.includes(breakpoint)) {\n breakpointClass = `is-max-${breakpoint}`;\n } else if (!isMax) {\n breakpointClass = `is-${breakpoint}`;\n }\n }\n\n const containerClasses = classNames(\n 'container',\n {\n 'is-fluid': fluid,\n 'is-widescreen': widescreen,\n 'is-fullhd': fullhd,\n },\n breakpointClass,\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={containerClasses} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Container;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Footer component.\n *\n * @property {'footer'|'div'} [as] - The HTML tag to render as.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content inside the footer.\n */\nexport interface FooterProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'footer' | 'div';\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Footer component.\n *\n * @example\n * <Footer>\n * <div className=\"content has-text-centered\">...</div>\n * </Footer>\n * @see {@link https://bulma.io/documentation/layout/footer/ | Bulma Footer documentation}\n */\nexport const Footer: React.FC<FooterProps> = ({\n as = 'footer',\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n return (\n <Tag\n className={classNames('footer', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\nexport default Footer;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Possible values for Bulma hero size.\n */\nexport type HeroSize =\n | 'small'\n | 'medium'\n | 'large'\n | 'fullheight'\n | 'fullheight-with-navbar';\n\n/**\n * Props for the Hero component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {HeroSize} [size] - Hero size.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {boolean} [fullheightWithNavbar] - Use fullheight with navbar.\n * @property {React.ReactNode} [children] - Content inside the hero.\n */\nexport interface HeroProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: HeroSize;\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n fullheightWithNavbar?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero component root.\n *\n * @function\n * @param {HeroProps} props - Props for the Hero component.\n * @returns {JSX.Element} The rendered hero.\n * @see {@link https://bulma.io/documentation/layout/hero/ | Bulma Hero documentation}\n */\nexport const Hero: React.FC<HeroProps> & {\n Head: typeof HeroHead;\n Body: typeof HeroBody;\n Foot: typeof HeroFoot;\n} = ({\n className,\n color,\n size,\n bgColor,\n fullheightWithNavbar,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n backgroundColor: bgColor,\n ...props,\n });\n\n const heroClasses = classNames(\n 'hero',\n bulmaHelperClasses,\n className,\n color && `is-${color}`,\n size && size !== 'fullheight-with-navbar' && `is-${size}`,\n {\n 'is-fullheight-with-navbar':\n fullheightWithNavbar || size === 'fullheight-with-navbar',\n }\n );\n\n return (\n <section className={heroClasses} {...rest}>\n {children}\n </section>\n );\n};\n\n/**\n * Props for the HeroHead component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface HeroHeadProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero head section.\n */\nexport const HeroHead: React.FC<HeroHeadProps> = ({\n className,\n children,\n color,\n bgColor,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor ?? color,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <div\n className={classNames('hero-head', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the HeroBody component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface HeroBodyProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero body section.\n */\nexport const HeroBody: React.FC<HeroBodyProps> = ({\n className,\n children,\n color,\n bgColor,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor ?? color,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <div\n className={classNames('hero-body', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the HeroFoot component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface HeroFootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero foot section.\n */\nexport const HeroFoot: React.FC<HeroFootProps> = ({\n className,\n children,\n color,\n bgColor,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor ?? color,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <div\n className={classNames('hero-foot', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n// Attach subcomponents\nHero.Head = HeroHead;\nHero.Body = HeroBody;\nHero.Foot = HeroFoot;\n\nexport default Hero;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Level component.\n *\n * @property {boolean} [isMobile] - Enable mobile mode.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Level content.\n */\nexport interface LevelProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n isMobile?: boolean;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Level component for horizontal layouts.\n *\n * @function\n * @param {LevelProps} props - Props for the Level component.\n * @returns {JSX.Element} The rendered level.\n * @see {@link https://bulma.io/documentation/layout/level/ | Bulma Level documentation}\n */\nexport const Level: React.FC<LevelProps> & {\n Left: typeof LevelLeft;\n Right: typeof LevelRight;\n Item: typeof LevelItem;\n} = ({ isMobile, className, children, ...props }) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <nav\n className={classNames('level', bulmaHelperClasses, className, {\n 'is-mobile': isMobile,\n })}\n {...rest}\n >\n {children}\n </nav>\n );\n};\n\n/**\n * Props for the LevelLeft component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface LevelLeftProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Level left section.\n */\nexport const LevelLeft: React.FC<LevelLeftProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('level-left', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the LevelRight component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface LevelRightProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Level right section.\n */\nexport const LevelRight: React.FC<LevelRightProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('level-right', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the LevelItem component.\n *\n * @property {'div'|'p'|'a'} [as] - Element type to render.\n * @property {boolean} [hasTextCentered] - Center the text in the item.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n * @property {string} [href] - Href for \"a\" tag.\n * @property {string} [target] - Target for \"a\" tag\n * @property {string} [rel] - Rel for \"a\" tag\n */\nexport interface LevelItemProps\n extends React.HTMLAttributes<\n HTMLDivElement | HTMLParagraphElement | HTMLAnchorElement\n >,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'div' | 'p' | 'a';\n hasTextCentered?: boolean;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n href?: string;\n target?: string;\n rel?: string;\n}\n\n/**\n * Bulma Level item section.\n */\nexport const LevelItem: React.FC<LevelItemProps> = ({\n as = 'div',\n hasTextCentered,\n className,\n children,\n href,\n target,\n rel,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n\n // If rendering as \"a\", only pass anchor-specific props\n if (Tag === 'a') {\n return (\n <a\n className={classNames('level-item', bulmaHelperClasses, className, {\n 'has-text-centered': hasTextCentered,\n })}\n href={href}\n target={target}\n rel={rel}\n {...rest}\n >\n {children}\n </a>\n );\n }\n\n return (\n <Tag\n className={classNames('level-item', bulmaHelperClasses, className, {\n 'has-text-centered': hasTextCentered,\n })}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\nLevel.Left = LevelLeft;\nLevel.Right = LevelRight;\nLevel.Item = LevelItem;\n\nexport default Level;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Media component.\n *\n * @property {'article'|'div'} [as] - Element type to render.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'article' | 'div';\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media component root.\n *\n * @function\n * @param {MediaProps} props - Props for the Media component.\n * @returns {JSX.Element} The rendered media container.\n * @see {@link https://bulma.io/documentation/layout/media-object/ | Bulma Media documentation}\n */\nexport const Media: React.FC<MediaProps> & {\n Left: typeof MediaLeft;\n Content: typeof MediaContent;\n Right: typeof MediaRight;\n} = ({ as = 'article', className, children, ...props }) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n return (\n <Tag\n className={classNames('media', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\n/**\n * Props for the MediaLeft component.\n *\n * @property {'figure'|'div'} [as] - Element type to render.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaLeftProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'figure' | 'div';\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media left section.\n */\nexport const MediaLeft: React.FC<MediaLeftProps> = ({\n as = 'figure',\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n return (\n <Tag\n className={classNames('media-left', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\n/**\n * Props for the MediaContent component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaContentProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media content section.\n */\nexport const MediaContent: React.FC<MediaContentProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('media-content', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the MediaRight component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaRightProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media right section.\n */\nexport const MediaRight: React.FC<MediaRightProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('media-right', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\nMedia.Left = MediaLeft;\nMedia.Content = MediaContent;\nMedia.Right = MediaRight;\n\nexport default Media;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Section size values for Bulma.\n */\ntype SectionSize = 'medium' | 'large';\n\n/**\n * Props for the Section component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {'medium'|'large'} [size] - Section size.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Section content.\n */\nexport interface SectionProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: SectionSize;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Section component for general layout.\n *\n * @function\n * @param {SectionProps} props - Props for the Section component.\n * @returns {JSX.Element} The rendered section.\n * @see {@link https://bulma.io/documentation/layout/section/ | Bulma Section documentation}\n */\nexport const Section: React.FC<SectionProps> = ({\n size,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const sectionClasses = classNames('section', className, bulmaHelperClasses, {\n [`is-${size}`]: size,\n });\n\n return (\n <section className={sectionClasses} {...rest}>\n {children}\n </section>\n );\n};\n"],"names":["React","require$$0","jsxRuntimeModule","require$$1","validSizes","validAlignments","useMemo","_jsx","_jsxs","useState","useRef","useEffect","createContext","useContext","_Fragment","forwardRef"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../node_modules/react/cjs/react-jsx-runtime.production.js","../../node_modules/react/cjs/react-jsx-runtime.development.js","../../node_modules/react/jsx-runtime.js","../src/helpers/classNames.ts","../src/helpers/useBulmaClasses.tsx","../src/columns/Column.tsx","../src/columns/Columns.tsx","../src/components/Breadcrumb.tsx","../src/components/Card.tsx","../src/components/Dropdown.tsx","../src/components/Menu.tsx","../src/components/Message.tsx","../src/components/Modal.tsx","../src/components/Navbar.tsx","../src/components/Pagination.tsx","../src/components/Panel.tsx","../src/components/Tabs.tsx","../src/elements/Block.tsx","../src/elements/Box.tsx","../src/elements/Button.tsx","../src/elements/Buttons.tsx","../src/elements/Content.tsx","../src/elements/Delete.tsx","../src/elements/Icon.tsx","../src/elements/IconText.tsx","../src/elements/Image.tsx","../src/elements/Notification.tsx","../src/elements/Progress.tsx","../src/elements/SubTitle.tsx","../src/elements/Table.tsx","../src/elements/Tag.tsx","../src/elements/Tags.tsx","../src/elements/Tbody.tsx","../src/elements/Td.tsx","../src/elements/Tfoot.tsx","../src/elements/Th.tsx","../src/elements/Thead.tsx","../src/elements/Title.tsx","../src/elements/Tr.tsx","../src/form/Checkbox.tsx","../src/form/Checkboxes.tsx","../src/form/Control.tsx","../src/form/Field.tsx","../src/form/File.tsx","../src/form/Input.tsx","../src/form/Radio.tsx","../src/form/Radios.tsx","../src/form/Select.tsx","../src/form/TextArea.tsx","../src/grid/Cell.tsx","../src/grid/Grid.tsx","../src/layout/Container.tsx","../src/layout/Footer.tsx","../src/layout/Hero.tsx","../src/layout/Level.tsx","../src/layout/Media.tsx","../src/layout/Section.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n \"react-stack-bottom-frame\": function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React[\"react-stack-bottom-frame\"].bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * Returns a space-separated string of class names based on input arguments.\n *\n * Accepts any mix of strings, numbers, arrays, or objects. Falsy values are ignored.\n * Array and object values are recursively flattened, and object keys are included\n * if their value is truthy. Duplicate class names are removed.\n *\n * @param {...(string | number | undefined | null | false | Record<string, unknown> | unknown[])} args - Class values to join.\n * @returns {string} A space-separated string of unique class names.\n *\n * @example\n * classNames('foo', ['bar', { baz: true }], { qux: false, quux: true });\n * // => 'foo bar baz quux'\n */\nexport function classNames(\n ...args: (\n | string\n | number\n | undefined\n | null\n | false\n | Record<string, unknown>\n | unknown[]\n )[]\n): string {\n const classSet = new Set<string>();\n\n function process(\n item:\n | string\n | number\n | undefined\n | null\n | false\n | Record<string, unknown>\n | unknown[]\n ) {\n if (item === undefined || item === null || item === false || item === '') {\n return;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n for (const cls of String(item).split(/\\s+/)) {\n if (cls) classSet.add(cls);\n }\n } else if (Array.isArray(item)) {\n for (const sub of item as (\n | string\n | number\n | undefined\n | null\n | false\n | Record<string, unknown>\n | unknown[]\n )[])\n process(sub);\n } else if (typeof item === 'object') {\n for (const key in item) {\n if (Object.prototype.hasOwnProperty.call(item, key) && item[key]) {\n for (const cls of key.split(/\\s+/)) {\n if (cls) classSet.add(cls);\n }\n }\n }\n }\n }\n\n for (const arg of args) {\n process(arg);\n }\n return Array.from(classSet).join(' ');\n}\n\nexport default classNames;\n","import { useMemo } from 'react';\nimport classNames from '../helpers/classNames';\n\n/**\n * Valid Bulma color classes.\n * @example 'primary', 'link', 'info'\n */\nexport const validColors = [\n 'primary',\n 'link',\n 'info',\n 'success',\n 'warning',\n 'danger',\n 'black',\n 'black-bis',\n 'black-ter',\n 'grey-darker',\n 'grey-dark',\n 'grey',\n 'grey-light',\n 'grey-lighter',\n 'white',\n 'light',\n 'dark',\n] as const;\n\n/**\n * Valid Bulma color shade suffixes.\n * @example '00', '05', 'invert'\n */\nexport const validColorShades = [\n '00',\n '05',\n '10',\n '15',\n '20',\n '25',\n '30',\n '35',\n '40',\n '45',\n '50',\n '55',\n '60',\n '65',\n '70',\n '75',\n '80',\n '85',\n '90',\n '95',\n 'invert',\n] as const;\n\n/**\n * Valid Bulma size classes for margins and paddings.\n * @example '0', '1', 'auto'\n */\nexport const validSizes = ['0', '1', '2', '3', '4', '5', '6', 'auto'] as const;\n\n/**\n * Valid Bulma text size classes.\n * @example '1', '2', '3'\n */\nexport const validTextSizes = ['1', '2', '3', '4', '5', '6', '7'] as const;\n\n/**\n * Valid Bulma text alignment classes.\n * @example 'centered', 'left', 'right'\n */\nexport const validAlignments = [\n 'centered',\n 'justified',\n 'left',\n 'right',\n] as const;\n\n/**\n * Valid Bulma text transformation classes.\n * @example 'capitalized', 'uppercase', 'italic'\n */\nexport const validTextTransforms = [\n 'capitalized',\n 'lowercase',\n 'uppercase',\n 'italic',\n] as const;\n\n/**\n * Valid Bulma text weight classes.\n * @example 'light', 'normal', 'bold'\n */\nexport const validTextWeights = [\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n] as const;\n\n/**\n * Valid Bulma font family classes.\n * @example 'sans-serif', 'monospace', 'code'\n */\nexport const validFontFamilies = [\n 'sans-serif',\n 'monospace',\n 'primary',\n 'secondary',\n 'code',\n] as const;\n\n/**\n * Valid Bulma display classes.\n * @example 'block', 'flex', 'inline'\n */\nexport const validDisplays = [\n 'block',\n 'flex',\n 'inline',\n 'inline-block',\n 'inline-flex',\n] as const;\n\n/**\n * Valid Bulma visibility classes.\n * @example 'hidden', 'sr-only'\n */\nexport const validVisibilities = ['hidden', 'sr-only'] as const;\n\n/**\n * Valid Bulma flex direction classes.\n * @example 'row', 'column', 'row-reverse'\n */\nexport const validFlexDirections = [\n 'row',\n 'row-reverse',\n 'column',\n 'column-reverse',\n] as const;\n\n/**\n * Valid Bulma flex wrap classes.\n * @example 'nowrap', 'wrap', 'wrap-reverse'\n */\nexport const validFlexWraps = ['nowrap', 'wrap', 'wrap-reverse'] as const;\n\n/**\n * Valid Bulma justify-content classes.\n * @example 'flex-start', 'center', 'space-between'\n */\nexport const validJustifyContents = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n 'start',\n 'end',\n 'left',\n 'right',\n] as const;\n\n/**\n * Valid Bulma align-content classes.\n * @example 'flex-start', 'center', 'stretch'\n */\nexport const validAlignContents = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n 'stretch',\n] as const;\n\n/**\n * Valid Bulma align-items classes.\n * @example 'stretch', 'flex-start', 'center'\n */\nexport const validAlignItems = [\n 'stretch',\n 'flex-start',\n 'flex-end',\n 'center',\n 'baseline',\n 'start',\n 'end',\n] as const;\n\n/**\n * Valid Bulma align-self classes.\n * @example 'auto', 'flex-start', 'center'\n */\nexport const validAlignSelfs = [\n 'auto',\n 'flex-start',\n 'flex-end',\n 'center',\n 'baseline',\n 'stretch',\n] as const;\n\n/**\n * Valid Bulma flex grow and shrink values.\n * @example '0', '1'\n */\nexport const validFlexGrowShrink = ['0', '1'] as const;\n\n/**\n * Valid Bulma viewport classes for responsive design.\n * @example 'mobile', 'tablet', 'desktop'\n */\nexport const validViewports = [\n 'mobile',\n 'tablet',\n 'desktop',\n 'widescreen',\n 'fullhd',\n] as const;\n\n/**\n * Props for applying Bulma helper classes to components.\n */\nexport interface BulmaClassesProps {\n /** Text color class (e.g., 'primary', 'info'). */\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n /** Background color class (e.g., 'primary', 'info'). */\n backgroundColor?: (typeof validColors)[number] | 'inherit' | 'current';\n /** Color shade suffix (e.g., '00', 'invert'). */\n colorShade?: (typeof validColorShades)[number];\n /** Margin (e.g., '0', '1'). */\n m?: (typeof validSizes)[number];\n /** Margin top. */\n mt?: (typeof validSizes)[number];\n /** Margin right. */\n mr?: (typeof validSizes)[number];\n /** Margin bottom. */\n mb?: (typeof validSizes)[number];\n /** Margin left. */\n ml?: (typeof validSizes)[number];\n /** Margin horizontal (left and right). */\n mx?: (typeof validSizes)[number];\n /** Margin vertical (top and bottom). */\n my?: (typeof validSizes)[number];\n /** Padding (e.g., '0', '1'). */\n p?: (typeof validSizes)[number];\n /** Padding top. */\n pt?: (typeof validSizes)[number];\n /** Padding right. */\n pr?: (typeof validSizes)[number];\n /** Padding bottom. */\n pb?: (typeof validSizes)[number];\n /** Padding left. */\n pl?: (typeof validSizes)[number];\n /** Padding horizontal (left and right). */\n px?: (typeof validSizes)[number];\n /** Padding vertical (top and bottom). */\n py?: (typeof validSizes)[number];\n /** Text size (e.g., '1', '2'). */\n textSize?: (typeof validTextSizes)[number];\n /** Text alignment (e.g., 'centered', 'left'). */\n textAlign?: (typeof validAlignments)[number];\n /** Text transformation (e.g., 'uppercase', 'italic'). */\n textTransform?: (typeof validTextTransforms)[number];\n /** Text weight (e.g., 'light', 'bold'). */\n textWeight?: (typeof validTextWeights)[number];\n /** Font family (e.g., 'sans-serif', 'code'). */\n fontFamily?: (typeof validFontFamilies)[number];\n /** Display type (e.g., 'block', 'flex'). */\n display?: (typeof validDisplays)[number];\n /** Visibility (e.g., 'hidden', 'sr-only'). */\n visibility?: (typeof validVisibilities)[number];\n /** Flex direction (e.g., 'row', 'column'). */\n flexDirection?: (typeof validFlexDirections)[number];\n /** Flex wrap (e.g., 'wrap', 'nowrap'). */\n flexWrap?: (typeof validFlexWraps)[number];\n /** Justify content (e.g., 'center', 'space-between'). */\n justifyContent?: (typeof validJustifyContents)[number];\n /** Align content (e.g., 'center', 'stretch'). */\n alignContent?: (typeof validAlignContents)[number];\n /** Align items (e.g., 'center', 'flex-start'). */\n alignItems?: (typeof validAlignItems)[number];\n /** Align self (e.g., 'auto', 'center'). */\n alignSelf?: (typeof validAlignSelfs)[number];\n /** Flex grow value (e.g., '0', '1'). */\n flexGrow?: (typeof validFlexGrowShrink)[number];\n /** Flex shrink value (e.g., '0', '1'). */\n flexShrink?: (typeof validFlexGrowShrink)[number];\n /** Float direction (e.g., 'left', 'right'). */\n float?: 'left' | 'right';\n /** Overflow behavior (e.g., 'clipped'). */\n overflow?: 'clipped';\n /** Applies overlay styling if true. */\n overlay?: boolean;\n /** Interaction behavior (e.g., 'unselectable', 'clickable'). */\n interaction?: 'unselectable' | 'clickable';\n /** Border radius style (e.g., 'radiusless'). */\n radius?: 'radiusless';\n /** Shadow style (e.g., 'shadowless'). */\n shadow?: 'shadowless';\n /** Responsive behavior (e.g., 'mobile', 'narrow'). */\n responsive?: 'mobile' | 'narrow';\n /** Viewport for responsive classes (e.g., 'mobile', 'desktop'). */\n viewport?: (typeof validViewports)[number];\n /** Add Bulma skeleton class if true. */\n skeleton?: boolean;\n}\n\n/**\n * A hook that generates Bulma helper classes from props and separates unhandled props.\n *\n * @function useBulmaClasses\n * @param props - Combination of BulmaClassesProps and additional props.\n * @returns An object containing the Bulma helper classes and unhandled props.\n * @example\n * const { bulmaHelperClasses, rest } = useBulmaClasses({\n * color: 'primary',\n * textSize: '3',\n * className: 'custom-class'\n * });\n * // bulmaHelperClasses: 'has-text-primary is-size-3'\n * // rest: { className: 'custom-class' }\n */\nexport const useBulmaClasses = <T extends Record<string, unknown>>(\n props: BulmaClassesProps & T\n): { bulmaHelperClasses: string; rest: Omit<T, keyof BulmaClassesProps> } => {\n const {\n color,\n backgroundColor,\n colorShade,\n m,\n mt,\n mr,\n mb,\n ml,\n mx,\n my,\n p,\n pt,\n pr,\n pb,\n pl,\n px,\n py,\n textSize,\n textAlign,\n textTransform,\n textWeight,\n fontFamily,\n display,\n visibility,\n flexDirection,\n flexWrap,\n justifyContent,\n alignContent,\n alignItems,\n alignSelf,\n flexGrow,\n flexShrink,\n float,\n overflow,\n overlay,\n interaction,\n radius,\n shadow,\n responsive,\n viewport,\n skeleton,\n ...rest\n } = props;\n\n const bulmaHelperClasses = useMemo(() => {\n const classes: string[] = [];\n\n // Helper to add class with optional viewport\n const addClass = (\n prefix: string,\n value: string | undefined,\n validValues: readonly string[]\n ) => {\n if (value && (!validValues.length || validValues.includes(value))) {\n const className =\n viewport && validViewports.includes(viewport)\n ? `${prefix}-${value}-${viewport}`\n : `${prefix}-${value}`;\n classes.push(className);\n }\n };\n\n // Color handling\n const addColorClass = (\n prefix: 'has-text' | 'has-background',\n value: string | undefined,\n shade: (typeof validColorShades)[number] | undefined\n ) => {\n if (!value || ![...validColors, 'inherit', 'current'].includes(value))\n return;\n if (shade && validColorShades.includes(shade)) {\n const className =\n prefix === 'has-text' && viewport && validViewports.includes(viewport)\n ? `${prefix}-${value}-${shade}-${viewport}`\n : `${prefix}-${value}-${shade}`;\n classes.push(className);\n } else {\n addClass(prefix, value, [...validColors, 'inherit', 'current']);\n }\n };\n\n // Color\n addColorClass('has-text', color, colorShade);\n addColorClass('has-background', backgroundColor, colorShade);\n\n // Spacing\n addClass('m', m, validSizes);\n addClass('mt', mt, validSizes);\n addClass('mr', mr, validSizes);\n addClass('mb', mb, validSizes);\n addClass('ml', ml, validSizes);\n addClass('mx', mx, validSizes);\n addClass('my', my, validSizes);\n addClass('p', p, validSizes);\n addClass('pt', pt, validSizes);\n addClass('pr', pr, validSizes);\n addClass('pb', pb, validSizes);\n addClass('pl', pl, validSizes);\n addClass('px', px, validSizes);\n addClass('py', py, validSizes);\n\n // Typography\n addClass('is-size', textSize, validTextSizes);\n addClass('has-text', textAlign, validAlignments);\n addClass('is', textTransform, validTextTransforms);\n addClass('has-text-weight', textWeight, validTextWeights);\n addClass('is-family', fontFamily, validFontFamilies);\n\n // Visibility\n addClass('is', display, validDisplays);\n if (visibility) {\n if (\n visibility === 'hidden' &&\n viewport &&\n validViewports.includes(viewport)\n ) {\n classes.push(`is-hidden-${viewport}`);\n } else if (validVisibilities.includes(visibility)) {\n classes.push(`is-${visibility}`);\n }\n }\n\n // Flexbox\n if (display === 'flex' || display === 'inline-flex') {\n addClass('is-flex-direction', flexDirection, validFlexDirections);\n addClass('is-flex-wrap', flexWrap, validFlexWraps);\n addClass('is-justify-content', justifyContent, validJustifyContents);\n addClass('is-align-content', alignContent, validAlignContents);\n addClass('is-align-items', alignItems, validAlignItems);\n addClass('is-align-self', alignSelf, validAlignSelfs);\n addClass('is-flex-grow', flexGrow, validFlexGrowShrink);\n addClass('is-flex-shrink', flexShrink, validFlexGrowShrink);\n }\n\n // Other Helpers\n if (float) {\n addClass('is-pulled', float, ['left', 'right']);\n }\n if (overflow) {\n addClass('is', overflow, ['clipped']);\n }\n if (overlay) {\n classes.push('is-overlay');\n }\n if (interaction) {\n addClass('is', interaction, ['unselectable', 'clickable']);\n }\n if (radius) {\n addClass('is', radius, ['radiusless']);\n }\n if (shadow) {\n addClass('is', shadow, ['shadowless']);\n }\n if (responsive) {\n addClass('is', responsive, ['mobile', 'narrow']);\n }\n\n // Bulma Skeleton Helper\n if (skeleton) {\n classes.push('is-skeleton');\n }\n\n return classNames(classes);\n }, [\n color,\n backgroundColor,\n colorShade,\n m,\n mt,\n mr,\n mb,\n ml,\n mx,\n my,\n p,\n pt,\n pr,\n pb,\n pl,\n px,\n py,\n textSize,\n textAlign,\n textTransform,\n textWeight,\n fontFamily,\n display,\n visibility,\n flexDirection,\n flexWrap,\n justifyContent,\n alignContent,\n alignItems,\n alignSelf,\n flexGrow,\n flexShrink,\n float,\n overflow,\n overlay,\n interaction,\n radius,\n shadow,\n responsive,\n viewport,\n skeleton,\n ]);\n\n return { bulmaHelperClasses, rest };\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Possible values for Bulma column size.\n */\nexport type BulmaColumnSize =\n | number\n | 'full'\n | 'half'\n | 'one-third'\n | 'two-thirds'\n | 'one-quarter'\n | 'three-quarters'\n | 'one-fifth'\n | 'two-fifths'\n | 'three-fifths'\n | 'four-fifths';\n\n/**\n * Props for the Column component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the column.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n *\n * @property {BulmaColumnSize} [size] - Column size.\n * @property {BulmaColumnSize} [sizeMobile] - Mobile column size.\n * @property {BulmaColumnSize} [sizeTablet] - Tablet column size.\n * @property {BulmaColumnSize} [sizeDesktop] - Desktop column size.\n * @property {BulmaColumnSize} [sizeWidescreen] - Widescreen column size.\n * @property {BulmaColumnSize} [sizeFullhd] - FullHD column size.\n *\n * @property {BulmaColumnSize} [offset] - Column offset.\n * @property {BulmaColumnSize} [offsetMobile] - Mobile column offset.\n * @property {BulmaColumnSize} [offsetTablet] - Tablet column offset.\n * @property {BulmaColumnSize} [offsetDesktop] - Desktop column offset.\n * @property {BulmaColumnSize} [offsetWidescreen] - Widescreen column offset.\n * @property {BulmaColumnSize} [offsetFullhd] - FullHD column offset.\n *\n * @property {boolean} [isNarrow] - The column is narrow.\n * @property {boolean} [isNarrowMobile] - The column is narrow on mobile.\n * @property {boolean} [isNarrowTablet] - The column is narrow on tablet.\n * @property {boolean} [isNarrowTouch] - The column is narrow on touch devices.\n * @property {boolean} [isNarrowDesktop] - The column is narrow on desktop.\n * @property {boolean} [isNarrowWidescreen] - The column is narrow on widescreen.\n * @property {boolean} [isNarrowFullhd] - The column is narrow on fullhd.\n *\n * @property {React.ReactNode} [children] - Children to render inside the column.\n */\nexport interface ColumnProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n\n size?: BulmaColumnSize;\n sizeMobile?: BulmaColumnSize;\n sizeTablet?: BulmaColumnSize;\n sizeDesktop?: BulmaColumnSize;\n sizeWidescreen?: BulmaColumnSize;\n sizeFullhd?: BulmaColumnSize;\n\n offset?: BulmaColumnSize;\n offsetMobile?: BulmaColumnSize;\n offsetTablet?: BulmaColumnSize;\n offsetDesktop?: BulmaColumnSize;\n offsetWidescreen?: BulmaColumnSize;\n offsetFullhd?: BulmaColumnSize;\n\n isNarrow?: boolean;\n isNarrowMobile?: boolean;\n isNarrowTablet?: boolean;\n isNarrowTouch?: boolean;\n isNarrowDesktop?: boolean;\n isNarrowWidescreen?: boolean;\n isNarrowFullhd?: boolean;\n\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma column and offset class names for the Column component.\n */\nfunction getColumnClassNames(props: ColumnProps): string[] {\n const classList: string[] = [];\n // Sizes\n const sizeProps = [\n { prop: 'size', prefix: 'is', suffix: '' },\n { prop: 'sizeMobile', prefix: 'is', suffix: 'mobile' },\n { prop: 'sizeTablet', prefix: 'is', suffix: 'tablet' },\n { prop: 'sizeDesktop', prefix: 'is', suffix: 'desktop' },\n { prop: 'sizeWidescreen', prefix: 'is', suffix: 'widescreen' },\n { prop: 'sizeFullhd', prefix: 'is', suffix: 'fullhd' },\n ];\n for (const { prop, prefix, suffix } of sizeProps) {\n const val = props[prop as keyof ColumnProps] as BulmaColumnSize | undefined;\n if (val !== undefined && val !== null) {\n let className = `${prefix}-${val}`;\n if (suffix) className += `-${suffix}`;\n classList.push(className);\n }\n }\n // Offsets\n const offsetProps = [\n { prop: 'offset', prefix: 'is-offset', suffix: '' },\n { prop: 'offsetMobile', prefix: 'is-offset', suffix: 'mobile' },\n { prop: 'offsetTablet', prefix: 'is-offset', suffix: 'tablet' },\n { prop: 'offsetDesktop', prefix: 'is-offset', suffix: 'desktop' },\n { prop: 'offsetWidescreen', prefix: 'is-offset', suffix: 'widescreen' },\n { prop: 'offsetFullhd', prefix: 'is-offset', suffix: 'fullhd' },\n ];\n for (const { prop, prefix, suffix } of offsetProps) {\n const val = props[prop as keyof ColumnProps] as BulmaColumnSize | undefined;\n if (val !== undefined && val !== null) {\n let className = `${prefix}-${val}`;\n if (suffix) className += `-${suffix}`;\n classList.push(className);\n }\n }\n // isNarrow (responsive)\n if (props.isNarrow) classList.push('is-narrow');\n if (props.isNarrowMobile) classList.push('is-narrow-mobile');\n if (props.isNarrowTablet) classList.push('is-narrow-tablet');\n if (props.isNarrowTouch) classList.push('is-narrow-touch');\n if (props.isNarrowDesktop) classList.push('is-narrow-desktop');\n if (props.isNarrowWidescreen) classList.push('is-narrow-widescreen');\n if (props.isNarrowFullhd) classList.push('is-narrow-fullhd');\n\n return classList;\n}\n\n/**\n * Bulma Column component for responsive grid layouts.\n *\n * @function\n * @param {ColumnProps} props - Props for the Column component.\n * @returns {JSX.Element} The rendered column.\n * @see {@link https://bulma.io/documentation/columns/ | Bulma Columns documentation}\n */\nexport const Column: React.FC<ColumnProps> = ({\n className,\n textColor,\n bgColor,\n size,\n sizeMobile,\n sizeTablet,\n sizeDesktop,\n sizeWidescreen,\n sizeFullhd,\n offset,\n offsetMobile,\n offsetTablet,\n offsetDesktop,\n offsetWidescreen,\n offsetFullhd,\n isNarrow,\n isNarrowMobile,\n isNarrowTablet,\n isNarrowTouch,\n isNarrowDesktop,\n isNarrowWidescreen,\n isNarrowFullhd,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const columnClasses = classNames(\n 'column',\n ...getColumnClassNames({\n size,\n sizeMobile,\n sizeTablet,\n sizeDesktop,\n sizeWidescreen,\n sizeFullhd,\n offset,\n offsetMobile,\n offsetTablet,\n offsetDesktop,\n offsetWidescreen,\n offsetFullhd,\n isNarrow,\n isNarrowMobile,\n isNarrowTablet,\n isNarrowTouch,\n isNarrowDesktop,\n isNarrowWidescreen,\n isNarrowFullhd,\n }),\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={columnClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Possible values for the Bulma columns gap size.\n */\nexport type BulmaGapSize =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | '0'\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8';\n\n/**\n * Props for the Columns component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for columns.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {boolean} [isCentered] - Center the columns container.\n * @property {boolean} [isGapless] - Remove all column gaps.\n * @property {boolean} [isMultiline] - Allow columns to wrap to multiple lines.\n * @property {boolean} [isVCentered] - Vertically center columns.\n * @property {boolean} [isMobile] - Only apply columns styles on mobile.\n * @property {boolean} [isDesktop] - Only apply columns styles on desktop.\n * @property {BulmaGapSize} [gapSize] - Gap size for all breakpoints.\n * @property {BulmaGapSize} [gapSizeMobile] - Gap size for mobile.\n * @property {BulmaGapSize} [gapSizeTablet] - Gap size for tablet.\n * @property {BulmaGapSize} [gapSizeDesktop] - Gap size for desktop.\n * @property {BulmaGapSize} [gapSizeWidescreen] - Gap size for widescreen.\n * @property {BulmaGapSize} [gapSizeFullhd] - Gap size for fullhd.\n * @property {React.ReactNode} [children] - Columns to render within the container.\n */\nexport interface ColumnsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n isCentered?: boolean;\n isGapless?: boolean;\n isMultiline?: boolean;\n isVCentered?: boolean;\n isMobile?: boolean;\n isDesktop?: boolean;\n\n gapSize?: BulmaGapSize;\n gapSizeMobile?: BulmaGapSize;\n gapSizeTablet?: BulmaGapSize;\n gapSizeDesktop?: BulmaGapSize;\n gapSizeWidescreen?: BulmaGapSize;\n gapSizeFullhd?: BulmaGapSize;\n\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma gap classes for the Columns component.\n */\nfunction getGapClasses(props: ColumnsProps): string[] {\n const gapClassMap = [\n { prop: 'gapSize', prefix: 'is' },\n { prop: 'gapSizeMobile', prefix: 'is', suffix: 'mobile' },\n { prop: 'gapSizeTablet', prefix: 'is', suffix: 'tablet' },\n { prop: 'gapSizeDesktop', prefix: 'is', suffix: 'desktop' },\n { prop: 'gapSizeWidescreen', prefix: 'is', suffix: 'widescreen' },\n { prop: 'gapSizeFullhd', prefix: 'is', suffix: 'fullhd' },\n ];\n\n return gapClassMap.flatMap(({ prop, prefix, suffix }) => {\n const val = props[prop as keyof ColumnsProps] as BulmaGapSize | undefined;\n if (val !== undefined && val !== null) {\n let className = `${prefix}-${val}`;\n if (suffix) className += `-${suffix}`;\n return [className];\n }\n return [];\n });\n}\n\n/**\n * Bulma Columns container for flexible, responsive layouts.\n *\n * @function\n * @param {ColumnsProps} props - Props for the Columns component.\n * @returns {JSX.Element} The rendered columns container.\n * @see {@link https://bulma.io/documentation/columns/ | Bulma Columns documentation}\n */\nexport const Columns: React.FC<ColumnsProps> = ({\n className,\n textColor,\n bgColor,\n isCentered,\n isGapless,\n isMultiline,\n isVCentered,\n isMobile,\n isDesktop,\n gapSize,\n gapSizeMobile,\n gapSizeTablet,\n gapSizeDesktop,\n gapSizeWidescreen,\n gapSizeFullhd,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const columnsClasses = classNames(\n 'columns',\n {\n 'is-centered': isCentered,\n 'is-gapless': isGapless,\n 'is-multiline': isMultiline,\n 'is-vcentered': isVCentered,\n 'is-mobile': isMobile,\n 'is-desktop': isDesktop,\n },\n ...getGapClasses({\n gapSize,\n gapSizeMobile,\n gapSizeTablet,\n gapSizeDesktop,\n gapSizeWidescreen,\n gapSizeFullhd,\n } as ColumnsProps),\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={columnsClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validBreadcrumbAlignments = ['centered', 'right'] as const;\n/**\n * Valid alignment values for the Breadcrumb component.\n */\nexport type BreadcrumbAlignment = (typeof validBreadcrumbAlignments)[number];\n\nconst validBreadcrumbSeparators = [\n 'arrow',\n 'bullet',\n 'dot',\n 'succeeds',\n] as const;\n/**\n * Valid separator values for the Breadcrumb component.\n */\nexport type BreadcrumbSeparator = (typeof validBreadcrumbSeparators)[number];\n\nconst validBreadcrumbSizes = ['small', 'medium', 'large'] as const;\n/**\n * Valid size values for the Breadcrumb component.\n */\nexport type BreadcrumbSize = (typeof validBreadcrumbSizes)[number];\n\n/**\n * Props for the Breadcrumb component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {BreadcrumbAlignment} [alignment] - Alignment modifier for the breadcrumb.\n * @property {BreadcrumbSeparator} [separator] - Separator style for the breadcrumb.\n * @property {BreadcrumbSize} [size] - Size modifier for the breadcrumb.\n * @property {React.ReactNode} [children] - Breadcrumb items (e.g., \"a\" or \"span\" html elements).\n */\nexport interface BreadcrumbProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n alignment?: BreadcrumbAlignment;\n separator?: BreadcrumbSeparator;\n size?: BreadcrumbSize;\n children?: React.ReactNode;\n}\n\n/**\n * Breadcrumb component for rendering a styled Bulma breadcrumb navigation.\n *\n * Supports alignment, separator styles, and sizes.\n *\n * @function\n * @param {BreadcrumbProps} props - Props for the Breadcrumb component.\n * @returns {JSX.Element} The rendered breadcrumb element.\n * @see {@link https://bulma.io/documentation/components/breadcrumb/ | Bulma Breadcrumb documentation}\n */\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n className,\n alignment,\n separator,\n size,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const breadcrumbClasses = classNames(\n 'breadcrumb',\n className,\n bulmaHelperClasses,\n {\n [`is-${alignment}`]:\n alignment && validBreadcrumbAlignments.includes(alignment),\n [`has-${separator}-separator`]:\n separator && validBreadcrumbSeparators.includes(separator),\n [`is-${size}`]: size && validBreadcrumbSizes.includes(size),\n }\n );\n\n return (\n <nav className={breadcrumbClasses} aria-label=\"breadcrumbs\" {...rest}>\n <ul>{children}</ul>\n </nav>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Card component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the card.\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the card.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the card.\n * @property {boolean} [hasShadow] - Whether the card has a shadow (default: true).\n * @property {React.ReactNode} [header] - Card header content, rendered inside `.card-header-title`.\n * @property {boolean} [headerCentered] - If true, centers the header title.\n * @property {React.ReactNode} [headerIcon] - Card header icon, rendered as a sibling to the header title.\n * @property {React.ReactNode|React.ReactNode[]} [footer] - Card footer content, each wrapped in `.card-footer-item`.\n * @property {React.ReactNode|string} [image] - Card image node or image src string.\n * @property {string} [imageAlt] - Alternate text for the card image.\n * @property {React.ReactNode} [children] - Card content.\n */\nexport interface CardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n hasShadow?: boolean;\n header?: React.ReactNode;\n headerCentered?: boolean;\n headerIcon?: React.ReactNode;\n footer?: React.ReactNode | React.ReactNode[];\n image?: React.ReactNode | string;\n imageAlt?: string;\n children?: React.ReactNode;\n}\n\n// Always wrap each footer item in .card-footer-item\nconst renderFooter = (footer: CardProps['footer']) => {\n if (!footer) return null;\n const items = Array.isArray(footer) ? footer : [footer];\n return items.map((item, idx) => (\n <span className=\"card-footer-item\" key={idx}>\n {item}\n </span>\n ));\n};\n\n/**\n * Card component for rendering a styled Bulma card.\n *\n * @function\n * @param {CardProps} props - Props for the Card component.\n * @returns {JSX.Element} The rendered card element.\n * @see {@link https://bulma.io/documentation/components/card/ | Bulma Card documentation}\n */\nexport const Card: React.FC<CardProps> = ({\n className,\n children,\n textColor,\n bgColor,\n hasShadow = true,\n header,\n headerCentered,\n headerIcon,\n footer,\n image,\n imageAlt,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const cardClasses = classNames('card', className, bulmaHelperClasses, {\n 'is-shadowless': !hasShadow,\n });\n\n // Render header with optional icon and is-centered modifier\n const renderHeader = (\n header: React.ReactNode,\n headerIcon: React.ReactNode,\n headerCentered?: boolean\n ) => {\n if (!header && !headerIcon) return null;\n return (\n <header className=\"card-header\">\n {header && (\n <div\n className={classNames('card-header-title', {\n 'is-centered': headerCentered,\n })}\n >\n {header}\n </div>\n )}\n {headerIcon}\n </header>\n );\n };\n\n return (\n <div className={cardClasses} {...rest}>\n {renderHeader(header, headerIcon, headerCentered)}\n {image && (\n <div className=\"card-image\">\n {typeof image === 'string' ? (\n <figure className=\"image\">\n <img src={image} alt={imageAlt ?? 'Card image'} />\n </figure>\n ) : (\n image\n )}\n </div>\n )}\n {/* Only render card-content if children is specified */}\n {typeof children !== 'undefined' &&\n children !== null &&\n children !== '' && <div className=\"card-content\">{children}</div>}\n {footer && (\n <footer className=\"card-footer\">{renderFooter(footer)}</footer>\n )}\n </div>\n );\n};\n\n// Only for test coverage\nexport const __test_exports__ = { renderFooter };\n","import React, { useState, useRef, useEffect } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Checks if code is running in a browser environment.\n * @param win - Window object.\n * @param doc - Document object.\n * @returns {boolean} True if in browser, false otherwise.\n */\nexport const isBrowser = (win?: typeof window, doc?: typeof document) =>\n typeof win !== 'undefined' && typeof doc !== 'undefined';\n\n/**\n * Props for the Dropdown component.\n *\n * @property {React.ReactNode} label - The dropdown button content.\n * @property {React.ReactNode} children - The menu items.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {string} [menuClassName] - Additional CSS classes for the dropdown menu.\n * @property {boolean} [active] - Whether the dropdown is open (controlled).\n * @property {boolean} [up] - Dropdown direction up.\n * @property {boolean} [right] - Dropdown aligned to the right.\n * @property {boolean} [hoverable] - Dropdown opens on hover.\n * @property {boolean} [disabled] - Disables the dropdown trigger.\n * @property {(active: boolean) => void} [onActiveChange] - Called when active state changes.\n * @property {boolean} [closeOnClick=true] - Close dropdown when clicking a menu item.\n * @property {string} [id] - ID for the root element.\n */\nexport interface DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n label: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n menuClassName?: string;\n active?: boolean;\n up?: boolean;\n right?: boolean;\n hoverable?: boolean;\n disabled?: boolean;\n onActiveChange?: (active: boolean) => void;\n closeOnClick?: boolean;\n id?: string;\n}\n\n/**\n * Bulma Dropdown component.\n *\n * @function\n * @param {DropdownProps} props - Props for the Dropdown component.\n * @returns {JSX.Element} The rendered dropdown.\n * @see {@link https://bulma.io/documentation/components/dropdown/ | Bulma Dropdown documentation}\n */\nconst DropdownComponent: React.FC<DropdownProps> = ({\n label,\n children,\n className,\n menuClassName,\n active: activeProp,\n up,\n right,\n hoverable,\n disabled,\n onActiveChange,\n closeOnClick = true,\n id,\n ...props\n}) => {\n const [active, setActive] = useState<boolean>(!!activeProp);\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n // Controlled mode support\n useEffect(() => {\n if (typeof activeProp === 'boolean') setActive(activeProp);\n }, [activeProp]);\n\n // SSR-safe outside click\n useEffect(() => {\n if (!active) return;\n\n if (!isBrowser(window, document)) return;\n\n const handleClick = (e: MouseEvent) => {\n if (!dropdownRef.current?.contains(e.target as Node)) {\n setActive(false);\n onActiveChange?.(false);\n }\n };\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, [active, onActiveChange]);\n\n const handleToggle = () => {\n if (disabled) return;\n\n const newActive = !active;\n setActive(newActive);\n onActiveChange?.(newActive);\n };\n\n const handleMenuClick = () => {\n if (closeOnClick) {\n setActive(false);\n onActiveChange?.(false);\n }\n };\n\n const dropdownClasses = classNames(\n 'dropdown',\n bulmaHelperClasses,\n {\n 'is-active': active,\n 'is-up': up,\n 'is-right': right,\n 'is-hoverable': hoverable,\n 'is-disabled': disabled,\n },\n className\n );\n\n return (\n <div\n className={dropdownClasses}\n ref={dropdownRef}\n id={id}\n data-testid=\"dropdown-root\"\n {...rest}\n >\n <div className=\"dropdown-trigger\">\n <button\n className=\"button\"\n aria-haspopup=\"true\"\n aria-controls={id ? `${id}-menu` : undefined}\n aria-expanded={active}\n onClick={handleToggle}\n disabled={disabled}\n type=\"button\"\n >\n <span>{label}</span>\n <span className=\"icon is-small\" aria-hidden=\"true\">\n <i className=\"fas fa-angle-down\" />\n </span>\n </button>\n </div>\n <div\n className={classNames('dropdown-menu', menuClassName)}\n id={id ? `${id}-menu` : undefined}\n role=\"menu\"\n data-testid=\"dropdown-menu\"\n >\n <div\n className=\"dropdown-content\"\n onClick={handleMenuClick}\n tabIndex={-1}\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\n/**\n * Props for the DropdownItem component.\n *\n * @property {boolean} [active] - Whether the item is active.\n * @property {string} [className] - Additional CSS classes.\n * @property {'a'|'div'|'button'} [as] - The element type to render.\n * @property {React.ReactNode} [children] - Item content.\n */\nexport interface DropdownItemProps\n extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n active?: boolean;\n className?: string;\n as?: 'a' | 'div' | 'button';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Dropdown item.\n *\n * @function\n * @param {DropdownItemProps} props - Props for the DropdownItem component.\n * @returns {JSX.Element} The rendered dropdown item.\n */\nexport const DropdownItem: React.FC<DropdownItemProps> = ({\n children,\n active,\n className,\n as: Component = 'a',\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <Component\n className={classNames(\n 'dropdown-item',\n bulmaHelperClasses,\n { 'is-active': active },\n className\n )}\n tabIndex={0}\n role=\"menuitem\"\n data-testid=\"dropdown-item\"\n {...rest}\n >\n {children}\n </Component>\n );\n};\n\n/**\n * Bulma Dropdown divider.\n *\n * @returns {JSX.Element} The divider element.\n */\nexport const DropdownDivider: React.FC = () => (\n <hr className=\"dropdown-divider\" />\n);\n\n// Assign static subcomponents\nexport const Dropdown = Object.assign(DropdownComponent, {\n Item: DropdownItem,\n Divider: DropdownDivider,\n});\n\nexport default Dropdown;\n","import React, { createContext, useContext } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n// Context to track MenuList nesting level\nconst MenuListLevelContext = createContext(0);\n\n/**\n * Props for the Menu component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} children - Menu content.\n */\nexport interface MenuProps\n extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Bulma Menu component.\n *\n * @function\n * @param {MenuProps} props - Props for the Menu component.\n * @returns {JSX.Element} The rendered menu.\n * @see {@link https://bulma.io/documentation/components/menu/ | Bulma Menu documentation}\n */\nconst MenuComponent: React.FC<MenuProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n return (\n <aside\n className={classNames('menu', className, bulmaHelperClasses)}\n {...rest}\n >\n {children}\n </aside>\n );\n};\n\n/**\n * Props for the MenuLabel component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} children - Label content.\n */\nexport interface MenuLabelProps\n extends Omit<\n React.HTMLAttributes<HTMLParagraphElement>,\n keyof BulmaClassesProps\n >,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Bulma Menu label component.\n *\n * @function\n * @param {MenuLabelProps} props - Props for the MenuLabel component.\n * @returns {JSX.Element} The rendered menu label.\n */\nexport const MenuLabel: React.FC<MenuLabelProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n return (\n <p\n className={classNames('menu-label', className, bulmaHelperClasses)}\n {...rest}\n >\n {children}\n </p>\n );\n};\n\n/**\n * Props for the MenuList component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} children - List items.\n */\nexport interface MenuListProps\n extends Omit<React.HTMLAttributes<HTMLUListElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * MenuList applies `menu-list` class only at the top level (not for nested lists).\n *\n * @function\n * @param {MenuListProps} props - Props for the MenuList component.\n * @returns {JSX.Element} The rendered menu list.\n */\nexport const MenuList: React.FC<MenuListProps> = ({\n className,\n children,\n ...props\n}) => {\n const level = useContext(MenuListLevelContext);\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n\n const ulClass = classNames(className, bulmaHelperClasses, {\n 'menu-list': level === 0,\n });\n\n // Increment level for nested MenuLists\n return (\n <MenuListLevelContext.Provider value={level + 1}>\n <ul className={ulClass} {...rest}>\n {children}\n </ul>\n </MenuListLevelContext.Provider>\n );\n};\n\n/**\n * Props for the MenuItem component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [active] - Whether the item is active.\n * @property {string} [href] - Href for link items.\n * @property {React.ElementType} [as] - Render as a custom component.\n * @property {React.ReactNode} children - Item content and optional nested MenuList.\n */\nexport interface MenuItemProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, keyof BulmaClassesProps>,\n BulmaClassesProps {\n className?: string;\n children: React.ReactNode;\n active?: boolean;\n href?: string;\n as?: React.ElementType;\n [key: string]: unknown;\n}\n\n/**\n * MenuItem supports `as` prop for custom link components, e.g., react-router-dom Link.\n *\n * @function\n * @param {MenuItemProps} props - Props for the MenuItem component.\n * @returns {JSX.Element} The rendered menu item.\n */\nexport const MenuItem: React.FC<MenuItemProps> = ({\n className,\n children,\n active,\n href,\n as: Component = 'a',\n 'data-testid': testId,\n ...rest\n}) => {\n const { bulmaHelperClasses, rest: bulmaRest } = useBulmaClasses(rest);\n const itemClass = classNames({ 'is-active': active }, bulmaHelperClasses);\n\n // Standard <li> props\n const { style, id, title, role, tabIndex, ...linkProps } = bulmaRest;\n\n // Split children into label and nested MenuList(s)\n const labelChildren: React.ReactNode[] = [];\n const nestedMenuLists: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement(child) && child.type === MenuList) {\n nestedMenuLists.push(child);\n } else {\n labelChildren.push(child);\n }\n });\n\n // href/to should go to the link component\n if (Component === 'a' && href) {\n (linkProps as Record<string, unknown>).href = href;\n }\n if (Object.prototype.hasOwnProperty.call(rest, 'to')) {\n (linkProps as Record<string, unknown>).to = rest.to;\n }\n\n return (\n <li\n className={className}\n data-testid={testId}\n style={style as React.CSSProperties | undefined}\n id={id as string | undefined}\n title={title as string | undefined}\n role={role as React.AriaRole | undefined}\n tabIndex={tabIndex as number | undefined}\n >\n <Component className={itemClass} {...linkProps}>\n {labelChildren}\n </Component>\n {nestedMenuLists}\n </li>\n );\n};\n\n// Attach static subcomponents\nexport const Menu = Object.assign(MenuComponent, {\n Label: MenuLabel,\n List: MenuList,\n Item: MenuItem,\n});\n\nexport default Menu;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Message component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [title] - Title displayed in the message header.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma or 'inherit'/'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the message.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma or 'inherit'/'current').\n * @property {() => void} [onClose] - Called when the close button is clicked.\n * @property {React.ReactNode} [children] - Message body content.\n */\nexport interface MessageProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'title'>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n title?: React.ReactNode;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n onClose?: () => void;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma-styled Message component.\n *\n * Supports Bulma helper classes, color, and an optional close button.\n *\n * @function\n * @param {MessageProps} props - Props for the Message component.\n * @returns {JSX.Element} The rendered message.\n * @see {@link https://bulma.io/documentation/components/message/ | Bulma Message documentation}\n */\nexport const Message: React.FC<MessageProps> = ({\n className,\n title,\n textColor,\n color,\n bgColor,\n onClose,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const messageClasses = classNames(\n 'message',\n color && `is-${color}`,\n className,\n bulmaHelperClasses\n );\n\n return (\n <article className={messageClasses} {...rest} data-testid=\"message\">\n {(title || onClose) && (\n <div className=\"message-header\">\n {title && <span>{title}</span>}\n {onClose && (\n <button\n className=\"delete\"\n aria-label=\"delete\"\n onClick={onClose}\n type=\"button\"\n data-testid=\"message-close\"\n />\n )}\n </div>\n )}\n {children && (\n <div className=\"message-body\" data-testid=\"message-body\">\n {children}\n </div>\n )}\n </article>\n );\n};\n\nexport default Message;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Modal component.\n *\n * @property {boolean} [active] - Whether the modal is open.\n * @property {() => void} [onClose] - Called when modal is closed.\n * @property {string} [className] - Additional CSS classes for the modal.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for modal content.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for modal content.\n * @property {React.ReactNode} [modalCardTitle] - Title for modal card variant.\n * @property {React.ReactNode} [modalCardFoot] - Footer for modal card variant.\n * @property {'card'|'content'} [type] - Modal type ('card' for modal-card, 'content' for modal-content).\n * @property {React.ReactNode} [children] - Modal body/content.\n */\nexport interface ModalProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color' | 'title'>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n active?: boolean;\n onClose?: () => void;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n modalCardTitle?: React.ReactNode;\n modalCardFoot?: React.ReactNode;\n type?: 'card' | 'content';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Modal component, supporting both modal-card and modal-content variants.\n *\n * @function\n * @param {ModalProps} props - Props for the Modal component.\n * @returns {JSX.Element} The rendered modal.\n * @see {@link https://bulma.io/documentation/components/modal/ | Bulma Modal documentation}\n */\nexport const Modal: React.FC<ModalProps> = ({\n active = false,\n onClose,\n className,\n textColor,\n bgColor,\n modalCardTitle,\n modalCardFoot,\n type,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n // EXPLICIT type wins; fallback to auto detection if not provided\n let isModalCard: boolean;\n if (type === 'card') isModalCard = true;\n else if (type === 'content') isModalCard = false;\n else isModalCard = !!modalCardTitle || !!modalCardFoot;\n\n const modalClasses = classNames(\n 'modal',\n { 'is-active': active },\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={modalClasses} {...rest} data-testid=\"modal\">\n <div\n className=\"modal-background\"\n onClick={onClose}\n data-testid=\"modal-background\"\n />\n {isModalCard ? (\n <div className=\"modal-card\">\n {modalCardTitle && (\n <header className=\"modal-card-head\">\n <p className=\"modal-card-title\">{modalCardTitle}</p>\n {onClose && (\n <button\n className=\"delete\"\n aria-label=\"close\"\n onClick={onClose}\n type=\"button\"\n data-testid=\"modal-close\"\n />\n )}\n </header>\n )}\n <section className=\"modal-card-body\" data-testid=\"modal-body\">\n {children}\n </section>\n {modalCardFoot && (\n <footer className=\"modal-card-foot\">{modalCardFoot}</footer>\n )}\n </div>\n ) : (\n <div className=\"modal-content\" data-testid=\"modal-content\">\n {children}\n </div>\n )}\n {/* Show floating close button for modal-content, or for modal-card when no header */}\n {(!isModalCard || (!modalCardTitle && onClose)) && onClose && (\n <button\n className=\"modal-close is-large\"\n aria-label=\"close\"\n onClick={onClose}\n type=\"button\"\n data-testid=\"modal-close-float\"\n />\n )}\n </div>\n );\n};\n\nexport default Modal;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Navbar component.\n *\n * @property {string} [className] - Additional CSS classes for the navbar.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Color for text.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the navbar.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the navbar.\n * @property {boolean} [transparent] - Whether the navbar is transparent.\n * @property {'top'|'bottom'} [fixed] - Whether the navbar is fixed to the top or bottom.\n * @property {React.ReactNode} [children] - Navbar content.\n */\nexport interface NavbarProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n transparent?: boolean;\n fixed?: 'top' | 'bottom';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar component, supports subcomponents for structured navigation.\n *\n * @function\n * @param {NavbarProps} props - Props for the Navbar component.\n * @returns {JSX.Element} The rendered navbar.\n * @see {@link https://bulma.io/documentation/components/navbar/ | Bulma Navbar documentation}\n */\nexport const Navbar: React.FC<NavbarProps> & {\n Brand: typeof NavbarBrand;\n Item: typeof NavbarItem;\n Burger: typeof NavbarBurger;\n Menu: typeof NavbarMenu;\n Start: typeof NavbarStart;\n End: typeof NavbarEnd;\n Dropdown: typeof NavbarDropdown;\n DropdownMenu: typeof NavbarDropdownMenu;\n Divider: typeof NavbarDivider;\n} = ({\n className,\n textColor,\n bgColor,\n color,\n transparent,\n fixed,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const navbarClasses = classNames('navbar', bulmaHelperClasses, className, {\n [`is-${color}`]: color,\n 'is-transparent': transparent,\n [`is-fixed-${fixed}`]: fixed,\n });\n\n return (\n <nav\n className={navbarClasses}\n role=\"navigation\"\n aria-label=\"main navigation\"\n {...rest}\n >\n {children}\n </nav>\n );\n};\n\n/**\n * Props for the NavbarBrand component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the brand.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the brand.\n * @property {React.ReactNode} [children] - Brand content.\n */\nexport interface NavbarBrandProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar brand area (usually left side).\n *\n * @function\n * @param {NavbarBrandProps} props - Props for the NavbarBrand component.\n * @returns {JSX.Element} The rendered brand area.\n */\nexport const NavbarBrand: React.FC<NavbarBrandProps> = ({\n className,\n children,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n ...props,\n });\n\n return (\n <div\n className={classNames('navbar-brand', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the NavbarItem component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ElementType} [as] - Render as a custom component.\n * @property {boolean} [active] - Whether the item is active.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the item.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the item.\n * @property {React.ReactNode} [children] - Navbar item content.\n */\nexport interface NavbarItemProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n as?: React.ElementType;\n active?: boolean;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar item (link, button, etc).\n *\n * @function\n * @param {NavbarItemProps} props - Props for the NavbarItem component.\n * @returns {JSX.Element} The rendered item.\n */\nexport const NavbarItem: React.FC<NavbarItemProps> = ({\n className,\n as: Component = 'a',\n active,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n return (\n <Component\n className={classNames('navbar-item', bulmaHelperClasses, className, {\n 'is-active': active,\n })}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n\n/**\n * Props for the NavbarBurger component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the burger.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the burger.\n * @property {boolean} [active] - Whether the burger is active.\n * @property {React.ReactNode} [children] - Custom content inside the burger.\n * @property {string} ['aria-label'] - Aria label for accessibility.\n * @property {boolean} ['aria-expanded'] - Aria expanded state.\n * @property {React.MouseEventHandler<HTMLButtonElement>} [onClick] - Click handler.\n */\nexport interface NavbarBurgerProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n active?: boolean;\n children?: React.ReactNode;\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\n/**\n * Bulma Navbar burger (responsive menu toggle).\n *\n * @function\n * @param {NavbarBurgerProps} props - Props for the NavbarBurger component.\n * @returns {JSX.Element} The rendered burger.\n */\nexport const NavbarBurger: React.FC<NavbarBurgerProps> = ({\n className,\n active,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n return (\n <button\n type=\"button\"\n className={classNames('navbar-burger', bulmaHelperClasses, className, {\n 'is-active': active,\n })}\n aria-label={props['aria-label'] || 'menu'}\n aria-expanded={props['aria-expanded'] ?? !!active}\n {...rest}\n >\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n {children}\n </button>\n );\n};\n\n/**\n * Props for the NavbarMenu component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the menu.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the menu.\n * @property {boolean} [active] - Whether the menu is active.\n * @property {React.ReactNode} [children] - Menu content.\n */\nexport interface NavbarMenuProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n active?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar menu area (collapsible content).\n *\n * @function\n * @param {NavbarMenuProps} props - Props for the NavbarMenu component.\n * @returns {JSX.Element} The rendered menu.\n */\nexport const NavbarMenu: React.FC<NavbarMenuProps> = ({\n className,\n active,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n return (\n <div\n className={classNames('navbar-menu', bulmaHelperClasses, className, {\n 'is-active': active,\n })}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the NavbarStartEnd component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface NavbarStartEndProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar start area (left-aligned).\n *\n * @function\n * @param {NavbarStartEndProps} props - Props for the NavbarStart component.\n * @returns {JSX.Element} The rendered start area.\n */\nexport const NavbarStart: React.FC<NavbarStartEndProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n return (\n <div\n className={classNames('navbar-start', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Bulma Navbar end area (right-aligned).\n *\n * @function\n * @param {NavbarStartEndProps} props - Props for the NavbarEnd component.\n * @returns {JSX.Element} The rendered end area.\n */\nexport const NavbarEnd: React.FC<NavbarStartEndProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n return (\n <div\n className={classNames('navbar-end', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the NavbarDropdown component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [right] - Dropdown aligned right.\n * @property {boolean} [up] - Dropdown opens upwards.\n * @property {boolean} [hoverable] - Dropdown opens on hover.\n * @property {boolean} [active] - Dropdown is open.\n * @property {React.ReactNode} [children] - Dropdown content.\n */\nexport interface NavbarDropdownProps\n extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n right?: boolean;\n up?: boolean;\n hoverable?: boolean;\n active?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar dropdown (for nested dropdown menus).\n *\n * @function\n * @param {NavbarDropdownProps} props - Props for the NavbarDropdown component.\n * @returns {JSX.Element} The rendered dropdown.\n */\nexport const NavbarDropdown: React.FC<NavbarDropdownProps> = ({\n className,\n right,\n up,\n hoverable,\n active,\n children,\n ...props\n}) => (\n <div\n className={classNames(\n 'navbar-item',\n 'has-dropdown',\n {\n 'is-right': right,\n 'is-up': up,\n 'is-hoverable': hoverable,\n 'is-active': active,\n },\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Props for the NavbarDropdownMenu component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [right] - Dropdown aligned right.\n * @property {boolean} [up] - Dropdown opens upwards.\n * @property {React.ReactNode} [children] - Dropdown menu content.\n */\nexport interface NavbarDropdownMenuProps\n extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n right?: boolean;\n up?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Navbar dropdown menu container.\n *\n * @function\n * @param {NavbarDropdownMenuProps} props - Props for the NavbarDropdownMenu component.\n * @returns {JSX.Element} The rendered dropdown menu.\n */\nexport const NavbarDropdownMenu: React.FC<NavbarDropdownMenuProps> = ({\n className,\n right,\n up,\n children,\n ...props\n}) => (\n <div\n className={classNames(\n 'navbar-dropdown',\n {\n 'is-right': right,\n 'is-up': up,\n },\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Bulma Navbar divider.\n *\n * @param props - Standard hr props.\n * @returns {JSX.Element} The rendered divider.\n */\nexport const NavbarDivider: React.FC<\n React.HTMLAttributes<HTMLHRElement>\n> = props => <hr className=\"navbar-divider\" {...props} />;\n\n// Attach subcomponents\nNavbar.Brand = NavbarBrand;\nNavbar.Item = NavbarItem;\nNavbar.Burger = NavbarBurger;\nNavbar.Menu = NavbarMenu;\nNavbar.Start = NavbarStart;\nNavbar.End = NavbarEnd;\nNavbar.Dropdown = NavbarDropdown;\nNavbar.DropdownMenu = NavbarDropdownMenu;\nNavbar.Divider = NavbarDivider;\n\nexport default Navbar;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Pagination component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the pagination.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the pagination.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the pagination.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the pagination.\n * @property {'centered'|'right'} [align] - Alignment for the pagination.\n * @property {boolean} [rounded] - Renders pagination with rounded corners.\n * @property {number} [total] - Total number of pages.\n * @property {number} [current] - Current page.\n * @property {(page: number) => void} [onPageChange] - Page change callback.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Custom pagination content.\n */\nexport interface PaginationProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: 'small' | 'medium' | 'large';\n align?: 'centered' | 'right';\n rounded?: boolean;\n total?: number;\n current?: number;\n onPageChange?: (page: number) => void;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for PaginationPrevious and PaginationNext components.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [disabled] - Whether previous/next is disabled.\n * @property {React.ReactNode} [children] - Button content.\n */\nexport interface PaginationPreviousNextProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n className?: string;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Pagination previous button.\n */\nexport const PaginationPrevious: React.FC<PaginationPreviousNextProps> = ({\n className,\n disabled,\n children,\n ...props\n}) => (\n <a\n className={classNames('pagination-previous', className, {\n 'is-disabled': disabled,\n })}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n {...props}\n onClick={\n disabled\n ? e => {\n e.preventDefault();\n e.stopPropagation();\n }\n : props.onClick\n }\n >\n {children}\n </a>\n);\n\n/**\n * Bulma Pagination next button.\n */\nexport const PaginationNext: React.FC<PaginationPreviousNextProps> = ({\n className,\n disabled,\n children,\n ...props\n}) => (\n <a\n className={classNames('pagination-next', className, {\n 'is-disabled': disabled,\n })}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n {...props}\n onClick={\n disabled\n ? e => {\n e.preventDefault();\n e.stopPropagation();\n }\n : props.onClick\n }\n >\n {children}\n </a>\n);\n\n/**\n * Bulma Pagination navigation component.\n *\n * @function\n * @param {PaginationProps} props - Props for the Pagination component.\n * @returns {JSX.Element} The rendered pagination.\n * @see {@link https://bulma.io/documentation/components/pagination/ | Bulma Pagination documentation}\n */\nexport const Pagination: React.FC<PaginationProps> & {\n Link: typeof PaginationLink;\n List: typeof PaginationList;\n Ellipsis: typeof PaginationEllipsis;\n Previous: typeof PaginationPrevious;\n Next: typeof PaginationNext;\n} = ({\n color,\n textColor,\n bgColor,\n size,\n align,\n rounded,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n const paginationClasses = classNames(\n 'pagination',\n bulmaHelperClasses,\n className,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n [`is-${align}`]: align,\n 'is-rounded': rounded,\n }\n );\n\n return (\n <nav\n className={paginationClasses}\n role=\"navigation\"\n aria-label=\"pagination\"\n {...rest}\n >\n {children}\n </nav>\n );\n};\n\n/**\n * Props for the PaginationList component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the list.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the list.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the list.\n * @property {React.ReactNode} [children] - List items.\n */\nexport interface PaginationListProps\n extends React.HTMLAttributes<HTMLUListElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Pagination list container.\n */\nexport const PaginationList: React.FC<PaginationListProps> = ({\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <ul\n className={classNames('pagination-list', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </ul>\n );\n};\n\n/**\n * Props for the PaginationLink component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {boolean} [active] - Whether the link is for the current page.\n * @property {boolean} [disabled] - Whether the link is disabled.\n * @property {React.ReactNode} [children] - Link content.\n */\nexport interface PaginationLinkProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n active?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Pagination link (page number).\n */\nexport const PaginationLink: React.FC<PaginationLinkProps> = ({\n className,\n textColor,\n bgColor,\n active,\n disabled,\n onClick,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n if (disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (onClick) {\n onClick(e);\n }\n };\n\n return (\n <li>\n <a\n className={classNames(\n 'pagination-link',\n bulmaHelperClasses,\n className,\n {\n 'is-current': active,\n 'is-disabled': disabled,\n }\n )}\n aria-current={active ? 'page' : undefined}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n onClick={handleClick}\n {...rest}\n >\n {children}\n </a>\n </li>\n );\n};\n\n/**\n * Bulma Pagination ellipsis element.\n *\n * @param props - Standard li props.\n * @returns {JSX.Element} The rendered ellipsis.\n */\nexport const PaginationEllipsis: React.FC<\n React.LiHTMLAttributes<HTMLLIElement>\n> = props => (\n <li>\n <span className=\"pagination-ellipsis\" {...props}>\n …\n </span>\n </li>\n);\n\nPagination.Link = PaginationLink;\nPagination.List = PaginationList;\nPagination.Ellipsis = PaginationEllipsis;\nPagination.Previous = PaginationPrevious;\nPagination.Next = PaginationNext;\n\nexport default Pagination;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Panel component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the panel.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Panel content.\n */\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelHeading component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Heading content.\n */\nexport interface PanelHeadingProps\n extends React.HTMLAttributes<HTMLParagraphElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelTabs component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tabs content.\n */\nexport interface PanelTabsProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelBlock component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {boolean} [active] - Whether the block is active.\n * @property {React.ReactNode} [children] - Block content.\n */\nexport interface PanelBlockProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n className?: string;\n active?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelIcon component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Icon content.\n */\nexport interface PanelIconProps extends React.HTMLAttributes<HTMLSpanElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelInputBlock component.\n *\n * @property {string} [value] - Input value.\n * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Input change handler.\n * @property {string} [placeholder] - Input placeholder.\n * @property {string} [iconClassName] - Icon class for left icon (default 'fas fa-search').\n */\nexport interface PanelInputBlockProps\n extends React.HTMLAttributes<HTMLDivElement> {\n value?: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n placeholder?: string;\n iconClassName?: string;\n}\n\n/**\n * Props for the PanelCheckboxBlock component.\n *\n * @property {boolean} [checked] - Whether the checkbox is checked.\n * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Checkbox change handler.\n * @property {React.ReactNode} [children] - Label/content.\n */\nexport interface PanelCheckboxBlockProps\n extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange'> {\n checked?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the PanelButtonBlock component.\n *\n * @property {React.ReactNode} [children] - Button content.\n */\nexport interface PanelButtonBlockProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Panel component, supports various panel subcomponents.\n *\n * @function\n * @param {PanelProps} props - Props for the Panel component.\n * @returns {JSX.Element} The rendered panel.\n * @see {@link https://bulma.io/documentation/components/panel/ | Bulma Panel documentation}\n */\nexport const Panel: React.FC<PanelProps> & {\n Heading: typeof PanelHeading;\n Tabs: typeof PanelTabs;\n Block: typeof PanelBlock;\n Icon: typeof PanelIcon;\n InputBlock: typeof PanelInputBlock;\n CheckboxBlock: typeof PanelCheckboxBlock;\n ButtonBlock: typeof PanelButtonBlock;\n} = ({ color, className, children, ...props }) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const panelClasses = classNames('panel', bulmaHelperClasses, className, {\n [`is-${color}`]: color,\n });\n\n return (\n <nav className={panelClasses} {...rest}>\n {children}\n </nav>\n );\n};\n\n/**\n * Bulma Panel heading.\n */\nexport const PanelHeading: React.FC<PanelHeadingProps> = ({\n className,\n children,\n ...props\n}) => (\n <p className={classNames('panel-heading', className)} {...props}>\n {children}\n </p>\n);\n\n/**\n * Bulma Panel tabs.\n */\nexport const PanelTabs: React.FC<PanelTabsProps> = ({\n className,\n children,\n ...props\n}) => (\n <p className={classNames('panel-tabs', className)} {...props}>\n {children}\n </p>\n);\n\n/**\n * Bulma Panel block.\n */\nexport const PanelBlock: React.FC<PanelBlockProps> = ({\n className,\n active,\n children,\n ...props\n}) => (\n <a\n className={classNames('panel-block', className, { 'is-active': active })}\n {...props}\n >\n {children}\n </a>\n);\n\n/**\n * Bulma Panel icon.\n */\nexport const PanelIcon: React.FC<PanelIconProps> = ({\n className,\n children,\n ...props\n}) => (\n <span className={classNames('panel-icon', className)} {...props}>\n {children}\n </span>\n);\n\n/**\n * Bulma Panel input block.\n */\nexport const PanelInputBlock: React.FC<PanelInputBlockProps> = ({\n value,\n onChange,\n placeholder,\n iconClassName = 'fas fa-search',\n ...props\n}) => (\n <div className=\"panel-block\" {...props}>\n <p className=\"control has-icons-left\">\n <input\n className=\"input\"\n type=\"text\"\n placeholder={placeholder}\n value={value}\n onChange={onChange}\n />\n <span className=\"icon is-left\">\n <i className={iconClassName} aria-hidden=\"true\"></i>\n </span>\n </p>\n </div>\n);\n\n/**\n * Bulma Panel checkbox block.\n */\nexport const PanelCheckboxBlock: React.FC<PanelCheckboxBlockProps> = ({\n checked,\n onChange,\n children,\n ...props\n}) => (\n <label className=\"panel-block\" {...props}>\n <input type=\"checkbox\" checked={checked} onChange={onChange} />\n {children}\n </label>\n);\n\n/**\n * Bulma Panel button block.\n */\nexport const PanelButtonBlock: React.FC<PanelButtonBlockProps> = ({\n children,\n className,\n ...props\n}) => (\n <div className=\"panel-block\">\n <button\n className={classNames(\n 'button is-link is-outlined is-fullwidth',\n className\n )}\n {...props}\n >\n {children}\n </button>\n </div>\n);\n\nPanel.Heading = PanelHeading;\nPanel.Tabs = PanelTabs;\nPanel.Block = PanelBlock;\nPanel.Icon = PanelIcon;\nPanel.InputBlock = PanelInputBlock;\nPanel.CheckboxBlock = PanelCheckboxBlock;\nPanel.ButtonBlock = PanelButtonBlock;\n\nexport default Panel;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tabs component.\n *\n * @property {'centered'|'right'|'left'} [align] - Tab alignment.\n * @property {'small'|'medium'|'large'} [size] - Tab size.\n * @property {boolean} [fullwidth] - Tabs are fullwidth.\n * @property {boolean} [boxed] - Tabs are boxed style.\n * @property {boolean} [toggle] - Tabs are toggle style.\n * @property {boolean} [rounded] - Tabs are rounded (if toggle).\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the tabs.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tab content.\n */\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n align?: 'centered' | 'right' | 'left';\n size?: 'small' | 'medium' | 'large';\n fullwidth?: boolean;\n boxed?: boolean;\n toggle?: boolean;\n rounded?: boolean;\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the TabList component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tab list items.\n */\nexport interface TabListProps extends React.HTMLAttributes<HTMLUListElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the TabItem component.\n *\n * @property {boolean} [active] - Whether the tab is active.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Tab content.\n * @property {React.MouseEventHandler<HTMLLIElement>} [onClick] - Click handler.\n */\nexport interface TabItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n active?: boolean;\n className?: string;\n children?: React.ReactNode;\n onClick?: React.MouseEventHandler<HTMLLIElement>;\n}\n\n/**\n * Bulma Tabs component with subcomponents for tab lists and items.\n *\n * @function\n * @param {TabsProps} props - Props for the Tabs component.\n * @returns {JSX.Element} The rendered tabs.\n * @see {@link https://bulma.io/documentation/components/tabs/ | Bulma Tabs documentation}\n */\nexport const Tabs: React.FC<TabsProps> & {\n List: typeof TabList;\n Item: typeof TabItem;\n} = ({\n align,\n size,\n fullwidth,\n boxed,\n toggle,\n rounded,\n color,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const tabsClass = classNames(\n 'tabs',\n bulmaHelperClasses,\n {\n [`is-${align}`]: align,\n [`is-${size}`]: size,\n 'is-fullwidth': fullwidth,\n 'is-boxed': boxed,\n 'is-toggle': toggle,\n 'is-toggle-rounded': toggle && rounded,\n [`is-${color}`]: color,\n },\n className\n );\n return (\n <div className={tabsClass} {...rest}>\n {children}\n </div>\n );\n};\n\n/**\n * Bulma Tab list container.\n *\n * @function\n * @param {TabListProps} props - Props for the TabList component.\n * @returns {JSX.Element} The rendered tab list.\n */\nexport const TabList: React.FC<TabListProps> = ({\n className,\n children,\n ...props\n}) => (\n <ul className={classNames(className)} {...props}>\n {children}\n </ul>\n);\n\n/**\n * Bulma Tab item.\n *\n * @function\n * @param {TabItemProps} props - Props for the TabItem component.\n * @returns {JSX.Element} The rendered tab item.\n */\nexport const TabItem: React.FC<TabItemProps> = ({\n active,\n className,\n children,\n onClick,\n ...props\n}) => (\n <li\n className={classNames({ 'is-active': active }, className)}\n onClick={onClick}\n {...props}\n >\n {children}\n </li>\n);\n\nTabs.List = TabList;\nTabs.Item = TabItem;\n\nexport default Tabs;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Block component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the block.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {React.ReactNode} [children] - Content to be rendered inside the block.\n */\nexport interface BlockProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Block component for rendering a styled Bulma block element.\n *\n * A block is a simple utility element that adds spacing (margin-bottom) between elements.\n * Supports Bulma helper classes for additional styling like text color, background color, and layout.\n *\n * @function\n * @param {BlockProps} props - Props for the Block component.\n * @returns {JSX.Element} The rendered block element.\n * @see {@link https://bulma.io/documentation/elements/block/ | Bulma Block documentation}\n */\nexport const Block: React.FC<BlockProps> = ({\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const blockClasses = classNames('block', className, bulmaHelperClasses);\n\n return (\n <div className={blockClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Box component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the box.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {boolean} [hasShadow=true] - Whether the box has a shadow (default: true).\n * @property {React.ReactNode} [children] - Content to be rendered inside the box.\n */\nexport interface BoxProps\n /** @ignore */\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n hasShadow?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Box component for rendering a styled Bulma box element.\n *\n * Supports Bulma helper classes for styling and layout, with optional shadow control.\n *\n * @function\n * @param {BoxProps} props - Props for the Box component.\n * @returns {JSX.Element} The rendered box element.\n * @see {@link https://bulma.io/documentation/elements/box/ | Bulma Box documentation}\n */\nexport const Box: React.FC<BoxProps> = ({\n className,\n textColor,\n bgColor,\n hasShadow = true,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const boxClasses = classNames('box', className, bulmaHelperClasses, {\n 'is-shadowless': !hasShadow,\n });\n\n return (\n <div className={boxClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Button component.\n *\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the button.\n * @property {'small' | 'normal' | 'medium' | 'large'} [size] - Button size.\n * @property {boolean} [isLight] - Use the light version of the color.\n * @property {boolean} [isRounded] - Button is fully rounded.\n * @property {boolean} [isLoading] - Button shows a loading spinner.\n * @property {boolean} [isStatic] - Button is static and non-interactive.\n * @property {boolean} [isFullWidth] - Button takes the full width of parent.\n * @property {boolean} [isOutlined] - Use outlined button style.\n * @property {boolean} [isInverted] - Use inverted color style.\n * @property {boolean} [isFocused] - Button is styled as focused.\n * @property {boolean} [isActive] - Button is styled as active.\n * @property {boolean} [isHovered] - Button is styled as hovered.\n * @property {boolean} [isDisabled] - Button is disabled.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {'a' | 'button'} [as] - Render as an anchor or button element.\n * @property {string} [href] - Specifies the URL for anchor buttons.\n * @property {React.MouseEventHandler<HTMLButtonElement> | React.MouseEventHandler<HTMLAnchorElement>} [onClick] - Click handler for the button or anchor.\n * @property {string} [target] - Target for anchor element.\n * @property {string} [rel] - Rel attribute for anchor element.\n * @property {React.ReactNode} [children] - Content to be rendered inside the button.\n */\nexport interface ButtonProps\n extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'color' | 'onClick'\n >,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor' | 'size'> {\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n size?: 'small' | 'normal' | 'medium' | 'large';\n isLight?: boolean;\n isRounded?: boolean;\n isLoading?: boolean;\n isStatic?: boolean;\n isFullWidth?: boolean;\n isOutlined?: boolean;\n isInverted?: boolean;\n isFocused?: boolean;\n isActive?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n as?: 'a' | 'button';\n href?: string;\n onClick?:\n | React.MouseEventHandler<HTMLButtonElement>\n | React.MouseEventHandler<HTMLAnchorElement>;\n target?: string;\n rel?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Button component for rendering a Bulma-styled button or anchor.\n *\n * Supports Bulma helper classes for colors, sizes, and various button states and modifiers.\n *\n * @function\n * @param {ButtonProps} props - Props for the Button component.\n * @returns {JSX.Element} The rendered button or anchor element.\n * @see {@link https://bulma.io/documentation/elements/button/ | Bulma Button documentation}\n */\nexport const Button: React.FC<ButtonProps> = ({\n color,\n size,\n isLight,\n isRounded,\n isLoading,\n isStatic,\n isFullWidth,\n isOutlined,\n isInverted,\n isFocused,\n isActive,\n isHovered,\n isDisabled,\n className,\n children,\n textColor,\n bgColor,\n as = 'button',\n href,\n onClick,\n target,\n rel,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const buttonClasses = classNames('button', className, bulmaHelperClasses, {\n [`is-${color}`]: color,\n [`is-${size}`]: size && size !== 'normal',\n 'is-light': isLight,\n 'is-rounded': isRounded,\n 'is-loading': isLoading,\n 'is-static': isStatic,\n 'is-fullwidth': isFullWidth,\n 'is-outlined': isOutlined,\n 'is-inverted': isInverted,\n 'is-focused': isFocused,\n 'is-active': isActive,\n 'is-hovered': isHovered,\n 'is-disabled': isDisabled,\n });\n\n if (as === 'a') {\n // Remove button-specific props (like 'type') from rest\n const { ...anchorRest } =\n rest as React.AnchorHTMLAttributes<HTMLAnchorElement>;\n return (\n <a\n className={buttonClasses}\n href={href}\n target={target}\n rel={rel}\n aria-disabled={isDisabled}\n tabIndex={isDisabled ? -1 : undefined}\n onClick={\n isDisabled\n ? e => e.preventDefault()\n : (onClick as\n | React.MouseEventHandler<HTMLAnchorElement>\n | undefined)\n }\n {...anchorRest}\n >\n {children}\n </a>\n );\n }\n\n return (\n <button\n className={buttonClasses}\n disabled={isDisabled}\n onClick={\n onClick as React.MouseEventHandler<HTMLButtonElement> | undefined\n }\n {...rest}\n >\n {children}\n </button>\n );\n};\n\nexport default Button;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Buttons component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the buttons group.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {boolean} [isCentered] - Center the group of buttons.\n * @property {boolean} [isRight] - Align the group of buttons to the right.\n * @property {boolean} [hasAddons] - Group buttons together as addons.\n * @property {React.ReactNode} children - The button elements to render inside the group.\n */\ninterface ButtonsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n isCentered?: boolean;\n isRight?: boolean;\n hasAddons?: boolean;\n children: React.ReactNode;\n}\n\n/**\n * Buttons component for rendering a group of Bulma-styled buttons.\n *\n * Supports Bulma helper classes for styling, color, and layout, including centering, right alignment, and grouping as addons.\n *\n * @function\n * @param {ButtonsProps} props - Props for the Buttons component.\n * @returns {JSX.Element} The rendered group of buttons.\n * @see {@link https://bulma.io/documentation/elements/button/#group | Bulma Button Group documentation}\n */\nexport const Buttons: React.FC<ButtonsProps> = ({\n className,\n textColor,\n bgColor,\n isCentered,\n isRight,\n hasAddons,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const buttonsClasses = classNames('buttons', className, bulmaHelperClasses, {\n 'is-centered': isCentered,\n 'is-right': isRight,\n 'has-addons': hasAddons,\n });\n\n return (\n <div className={buttonsClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Content component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the content.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {'small' | 'normal' | 'medium' | 'large'} [size] - Size modifier for the content.\n * @property {React.ReactNode} [children] - Content to be rendered inside the block.\n */\ninterface ContentProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: 'small' | 'normal' | 'medium' | 'large';\n children?: React.ReactNode;\n}\n\n// Valid size modifiers for the content class\nconst validSizes = ['small', 'medium', 'large'] as const;\n\n/**\n * Content component for rendering a styled Bulma content block.\n *\n * Applies typographic styles to HTML content (e.g., paragraphs, headings, lists) with Bulma's content class.\n * Supports size modifiers and Bulma helper classes for additional styling.\n *\n * @function\n * @param {ContentProps} props - Props for the Content component.\n * @returns {JSX.Element} The rendered content block.\n * @see {@link https://bulma.io/documentation/elements/content/ | Bulma Content documentation}\n */\nexport const Content: React.FC<ContentProps> = ({\n className,\n textColor,\n bgColor,\n size,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const contentClasses = classNames('content', className, bulmaHelperClasses, {\n [`is-${size}`]: size && size !== 'normal' && validSizes.includes(size),\n });\n\n return (\n <div className={contentClasses} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Content;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Delete component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the delete button.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {(event: React.MouseEvent<HTMLButtonElement>) => void} [onClick] - Click handler for the button.\n * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the delete button.\n * @property {string} [ariaLabel='Close'] - ARIA label for accessibility (default: 'Close').\n * @property {boolean} [disabled=false] - Whether the button is disabled (default: false).\n */\ninterface DeleteProps\n extends React.HTMLAttributes<HTMLButtonElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n size?: 'small' | 'medium' | 'large';\n ariaLabel?: string;\n disabled?: boolean;\n}\n\n/**\n * Delete component for rendering a Bulma-styled delete/close button.\n *\n * Supports Bulma helper classes for styling, color, and size, and includes accessibility and disabled state.\n *\n * @function\n * @param {DeleteProps} props - Props for the Delete component.\n * @returns {JSX.Element} The rendered delete button.\n * @see {@link https://bulma.io/documentation/elements/delete/ | Bulma Delete documentation}\n */\nexport const Delete: React.FC<DeleteProps> = ({\n className,\n textColor,\n bgColor,\n onClick,\n size,\n ariaLabel = 'Close',\n disabled = false,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const classes = classNames(\n 'delete',\n {\n [`is-${size}`]: size,\n 'is-disabled': disabled,\n },\n bulmaHelperClasses,\n className\n );\n\n return (\n <button\n className={classes}\n onClick={onClick}\n aria-label={ariaLabel}\n disabled={disabled}\n type=\"button\"\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\ntype IconLibrary = 'fa' | 'mdi' | 'ion'; // 'fa' = Font Awesome, 'mdi' = Material Design Icons, 'ion' = Ionicons\n\n/**\n * Props for the Icon component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {string} name - The icon name (without library prefix).\n * @property {IconLibrary} [library='fa'] - The icon library to use ('fa' = Font Awesome, 'mdi' = Material Design Icons, 'ion' = Ionicons).\n * @property {string | string[]} [libraryFeatures] - Additional library-specific classes, e.g. 'fa-lg', 'fa-spin', or ['fa-lg', 'fa-fw'].\n * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the icon.\n * @property {string} [ariaLabel='icon'] - ARIA label for accessibility (default: 'icon').\n * @property {object} [style] - Inline style object.\n */\nexport interface IconProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n name: string; // e.g., 'star', 'account', 'home-outline'\n library?: IconLibrary; // default: 'fa'\n libraryFeatures?: string | string[]; // e.g., 'fa-lg', 'fa-spin', or ['fa-lg', 'fa-fw']\n size?: 'small' | 'medium' | 'large';\n ariaLabel?: string;\n style?: React.CSSProperties;\n}\n\n/**\n * Gets the correct classes for the icon element based on the library and features.\n *\n * @param {IconLibrary} library - The icon library.\n * @param {string} name - The icon name.\n * @param {string | string[]} [libraryFeatures] - Additional library-specific classes.\n * @returns {string} The combined class string for the icon.\n */\nfunction getIconClasses(\n library: IconLibrary,\n name: string,\n libraryFeatures?: string | string[]\n): string {\n let baseClass = '';\n let iconClass = '';\n let features = Array.isArray(libraryFeatures)\n ? libraryFeatures\n : libraryFeatures\n ? [libraryFeatures]\n : [];\n\n switch (library) {\n case 'fa': {\n // Font Awesome 5/6: use 'fas', 'far', 'fab', etc. as feature, icon is 'fa-<icon>'\n // If features contains a FA style ('fas', 'far', 'fab'), use it, otherwise default to 'fas'\n const faStyle =\n features.find(f =>\n ['fas', 'far', 'fab', 'fal', 'fad', 'fat'].includes(f)\n ) || 'fas';\n baseClass = faStyle;\n iconClass = `fa-${name}`;\n features = features.filter(f => f !== faStyle);\n return [baseClass, iconClass, ...features].join(' ');\n }\n case 'mdi':\n // Material Design Icons: always 'mdi mdi-<icon>'\n baseClass = 'mdi';\n iconClass = `mdi-${name}`;\n return [baseClass, iconClass, ...features].join(' ');\n case 'ion':\n // Ionicons (v4+): 'ion' and 'ion-<icon>'\n baseClass = 'ion';\n iconClass = `ion-${name}`;\n return [baseClass, iconClass, ...features].join(' ');\n default:\n // fallback: just icon name and features\n return [name, ...features].join(' ');\n }\n}\n\n/**\n * Icon component for rendering a Bulma-styled icon container.\n *\n * Supports Bulma helper classes for styling, color, and size, and renders an <i></i> element for the icon itself.\n *\n * @function\n * @param {IconProps} props - Props for the Icon component.\n * @returns {JSX.Element} The rendered icon element.\n * @see {@link https://bulma.io/documentation/elements/icon/ | Bulma Icon documentation}\n */\nexport const Icon: React.FC<IconProps> = ({\n className,\n textColor,\n bgColor,\n name,\n library = 'fa', // Font Awesome is default\n libraryFeatures,\n size,\n ariaLabel = 'icon',\n style,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const iconContainerClasses = classNames(\n 'icon',\n {\n [`is-${size}`]: size,\n },\n bulmaHelperClasses,\n className\n );\n\n const iClasses = getIconClasses(library, name, libraryFeatures);\n\n return (\n <span\n className={iconContainerClasses}\n aria-label={ariaLabel}\n style={style}\n {...rest}\n >\n <i className={iClasses} />\n </span>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\nimport { Icon, IconProps } from './Icon';\n\n/**\n * Represents an item for the IconText component, containing icon props and optional text.\n *\n * @property {IconProps} iconProps - Props for the Icon component.\n * @property {string} [text] - Optional text to display next to the icon.\n */\ninterface IconTextItem {\n iconProps: IconProps;\n text?: string;\n}\n\n/**\n * Props for the IconText component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {IconProps} [iconProps] - Props for a single Icon component.\n * @property {React.ReactNode} [children] - Text for a single icon.\n * @property {IconTextItem[]} [items] - Array of icon/text pairs for multiple icons.\n */\ninterface IconTextProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n BulmaClassesProps {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n iconProps?: IconProps; // For single icon\n children?: React.ReactNode; // Text for single icon\n items?: IconTextItem[]; // For multiple icons\n}\n\n/**\n * IconText component for rendering one or more icons with optional text, styled with Bulma.\n *\n * Supports Bulma helper classes for styling, color, and layout. Can render a single icon with text or multiple icon/text pairs.\n *\n * @function\n * @param {IconTextProps} props - Props for the IconText component.\n * @returns {JSX.Element} The rendered icon text element.\n * @see {@link https://bulma.io/documentation/elements/icon/#icon-text | Bulma IconText documentation}\n */\nexport const IconText: React.FC<IconTextProps> = ({\n className,\n textColor,\n bgColor,\n iconProps,\n children,\n items,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const iconTextClasses = classNames(\n 'icon-text',\n bulmaHelperClasses,\n className\n );\n\n return (\n <span className={iconTextClasses} {...rest}>\n {items ? (\n items.map((item, index) => (\n <React.Fragment key={index}>\n <Icon {...item.iconProps} />\n {item.text && <span>{item.text}</span>}\n </React.Fragment>\n ))\n ) : (\n <>\n {iconProps && <Icon {...iconProps} />}\n {children && <span>{children}</span>}\n </>\n )}\n </span>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Image component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the image container.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {string} [size] - Size or aspect ratio modifier (e.g., '128x128', '16by9', etc.).\n * @property {boolean} [isRounded] - Whether the image should have rounded corners.\n * @property {boolean} [isRetina] - Whether to use retina (2x) image source.\n * @property {string} [src] - Image source URL.\n * @property {string} [alt] - Alternate text for the image.\n * @property {React.ReactNode} [children] - Arbitrary children (e.g., iframe or custom content).\n * @property {'figure' | 'div' | 'p'} [as] - The tag to render. Defaults to 'figure', but can be 'p', 'div', etc.\n */\nexport interface ImageProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?:\n | '16x16'\n | '24x24'\n | '32x32'\n | '48x48'\n | '64x64'\n | '96x96'\n | '128x128'\n | 'square'\n | '1by1'\n | '5by4'\n | '4by3'\n | '3by2'\n | '5by3'\n | '16by9'\n | '2by1'\n | '3by1'\n | '4by5'\n | '3by4'\n | '2by3'\n | '3by5'\n | '9by16'\n | '1by2'\n | '1by3';\n isRounded?: boolean;\n isRetina?: boolean;\n src?: string;\n alt?: string;\n children?: React.ReactNode;\n as?: 'figure' | 'div' | 'p';\n}\n\n/**\n * Image component for rendering a styled Bulma image element.\n *\n * Supports fixed-size containers, aspect ratios, rounded images, retina images, and arbitrary children (e.g., iframe).\n *\n * The \"as\" prop allows rendering as \"figure\", \"p\", or \"div\" tags etc.\n *\n * @function\n * @param {ImageProps} props - Props for the Image component.\n * @returns {JSX.Element} The rendered image element.\n * @see {@link https://bulma.io/documentation/elements/image/ | Bulma Image documentation}\n */\nexport const Image: React.FC<ImageProps> = ({\n as,\n className,\n textColor,\n bgColor,\n size,\n isRounded,\n isRetina,\n src,\n alt,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const imageClasses = classNames('image', className, bulmaHelperClasses, {\n [`is-${size}`]: size,\n 'has-ratio': size && typeof size === 'string' && size.includes('by'),\n });\n\n // Default tag logic: if \"as\" is provided, use it.\n // If not, use <figure> for aspect ratios or children, <div> otherwise.\n let Tag: 'figure' | 'div' | 'p';\n if (as) {\n Tag = as;\n } else if (size && typeof size === 'string' && size.includes('by')) {\n Tag = 'figure';\n } else {\n Tag = 'div';\n }\n\n const content = children ? (\n children\n ) : (\n <img\n className={classNames({ 'is-rounded': isRounded })}\n src={src}\n alt={alt}\n {...(isRetina && src ? { srcSet: `${src} 2x` } : {})}\n />\n );\n\n return (\n <Tag className={imageClasses} {...rest}>\n {content}\n </Tag>\n );\n};\n\nexport default Image;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Notification component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number]} [color] - Bulma color modifier for the notification.\n * @property {boolean} [isLight] - Use the light color variant.\n * @property {boolean} [hasDelete] - Show a delete (close) button.\n * @property {() => void} [onDelete] - Callback fired when the delete button is clicked.\n * @property {React.ReactNode} [children] - Content to be rendered inside the notification.\n */\nexport interface NotificationProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number];\n isLight?: boolean;\n hasDelete?: boolean;\n onDelete?: () => void;\n children?: React.ReactNode;\n}\n\n/**\n * Notification component for rendering a styled Bulma notification.\n *\n * Supports colors, light variants, a delete button, and arbitrary content.\n *\n * @function\n * @param {NotificationProps} props - Props for the Notification component.\n * @returns {JSX.Element} The rendered notification element.\n * @see {@link https://bulma.io/documentation/elements/notification/ | Bulma Notification documentation}\n */\nexport const Notification: React.FC<NotificationProps> = ({\n className,\n color,\n isLight,\n hasDelete,\n onDelete,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const notificationClasses = classNames(\n 'notification',\n className,\n bulmaHelperClasses,\n {\n [`is-${color}`]: color && validColors.includes(color),\n 'is-light': isLight,\n }\n );\n\n return (\n <div className={notificationClasses} {...rest}>\n {hasDelete && (\n <button\n className=\"delete\"\n onClick={onDelete}\n aria-label=\"Close notification\"\n />\n )}\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Progress component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {(typeof validColors)[number]} [color] - Bulma color modifier for the progress bar.\n * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the progress bar.\n * @property {number} [value] - Current value of the progress bar.\n * @property {number} [max] - Maximum value of the progress bar.\n * @property {React.ReactNode} [children] - Optional custom content inside the progress element.\n */\nexport interface ProgressProps\n extends React.ProgressHTMLAttributes<HTMLProgressElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number];\n size?: 'small' | 'medium' | 'large';\n value?: number;\n max?: number;\n children?: React.ReactNode;\n}\n\n/**\n * Progress component for rendering a styled Bulma progress bar.\n *\n * Supports Bulma color and size modifiers, value/max attributes, and optional custom content.\n *\n * @function\n * @param {ProgressProps} props - Props for the Progress component.\n * @returns {JSX.Element} The rendered progress bar element.\n * @see {@link https://bulma.io/documentation/elements/progress/ | Bulma Progress documentation}\n */\nexport const Progress: React.FC<ProgressProps> = ({\n className,\n color,\n size,\n value,\n max,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const progressClasses = classNames(\n 'progress',\n className,\n bulmaHelperClasses,\n {\n [`is-${color}`]: color && validColors.includes(color),\n [`is-${size}`]: size,\n }\n );\n\n return (\n <progress className={progressClasses} value={value} max={max} {...rest}>\n {children}\n </progress>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validSubTitleSizes = ['1', '2', '3', '4', '5', '6'] as const;\n/**\n * Valid size values for the SubTitle component (Bulma subtitle sizes).\n */\nexport type SubTitleSize = (typeof validSubTitleSizes)[number];\n\nconst validSubTitleElements = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'p',\n] as const;\n/**\n * Valid HTML elements for the SubTitle component.\n */\nexport type SubTitleElement = (typeof validSubTitleElements)[number];\n\n/**\n * Props for the SubTitle component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {SubTitleSize} [size] - Size of the subtitle (1-6).\n * @property {SubTitleElement} [as='h1'] - HTML element to render as (h1-h6 or p).\n * @property {boolean} [hasSkeleton] - Adds the has-skeleton CSS class.\n * @property {React.ReactNode} [children] - Subtitle content.\n */\nexport interface SubTitleProps\n extends Omit<\n React.HTMLAttributes<HTMLHeadingElement | HTMLParagraphElement>,\n 'color'\n >,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n size?: SubTitleSize;\n as?: SubTitleElement;\n hasSkeleton?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * SubTitle component for rendering a styled Bulma subtitle.\n *\n * Supports Bulma subtitle sizes and rendering as different HTML elements (h1-h6, p).\n *\n * @function\n * @param {SubTitleProps} props - Props for the SubTitle component.\n * @returns {JSX.Element} The rendered subtitle element.\n * @see {@link https://bulma.io/documentation/elements/title/#subtitle | Bulma Subtitle documentation}\n */\nexport const SubTitle: React.FC<SubTitleProps> = ({\n className,\n size,\n as = 'h1',\n hasSkeleton,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n // Validate 'as' prop at runtime\n const element = validSubTitleElements.includes(as) ? as : 'h1';\n\n // Validate 'size' prop at runtime\n const validSize =\n size && validSubTitleSizes.includes(size) ? size : undefined;\n\n const subTitleClasses = classNames(\n 'subtitle',\n className,\n bulmaHelperClasses,\n {\n [`is-${validSize}`]: validSize,\n 'has-skeleton': hasSkeleton,\n }\n );\n\n // Determine the tag based on 'element' and 'validSize'\n const Tag: React.ElementType =\n element === 'p' ? 'p' : validSize ? `h${validSize}` : element;\n\n return (\n <Tag className={subTitleClasses} {...rest}>\n {children}\n </Tag>\n );\n};\n\nexport default SubTitle;\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Table component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [isBordered] - Adds borders to all the cells.\n * @property {boolean} [isStriped] - Adds zebra-striping to rows.\n * @property {boolean} [isNarrow] - Makes the table more compact by cutting cell padding in half.\n * @property {boolean} [isHoverable] - Adds a hover effect on rows.\n * @property {boolean} [isFullwidth] - Makes the table span the full width of its parent.\n * @property {boolean} [isResponsive] - Makes the table horizontally scrollable on small screens.\n * @property {React.ReactNode} [children] - Table content.\n */\nexport interface TableProps\n extends Omit<React.TableHTMLAttributes<HTMLTableElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n isBordered?: boolean;\n isStriped?: boolean;\n isNarrow?: boolean;\n isHoverable?: boolean;\n isFullwidth?: boolean;\n isResponsive?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Table component for rendering a styled Bulma table.\n *\n * Supports responsive, bordered, striped, narrow, hoverable, and fullwidth variants.\n *\n * @function\n * @param {TableProps} props - Props for the Table component.\n * @returns {JSX.Element} The rendered table element.\n * @see {@link https://bulma.io/documentation/elements/table/ | Bulma Table documentation}\n */\nexport const Table: React.FC<TableProps> = ({\n className,\n isBordered,\n isStriped,\n isNarrow,\n isHoverable,\n isFullwidth,\n isResponsive,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tableClasses = classNames('table', className, bulmaHelperClasses, {\n 'is-bordered': isBordered,\n 'is-striped': isStriped,\n 'is-narrow': isNarrow,\n 'is-hoverable': isHoverable,\n 'is-fullwidth': isFullwidth,\n });\n\n const tableElement = (\n <table className={tableClasses} {...rest}>\n {children}\n </table>\n );\n\n return isResponsive ? (\n <div className=\"table-container\">{tableElement}</div>\n ) : (\n tableElement\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validTagColors = [\n 'primary',\n 'link',\n 'info',\n 'success',\n 'warning',\n 'danger',\n 'black',\n 'dark',\n 'light',\n 'white',\n] as const;\n\n/**\n * Valid color values for the Tag component (Bulma tag colors).\n */\nexport type TagColor = (typeof validTagColors)[number];\n\nconst validTagSizes = ['normal', 'medium', 'large'] as const;\n/**\n * Valid size values for the Tag component (Bulma tag sizes).\n */\nexport type TagSize = (typeof validTagSizes)[number];\n\n/**\n * Props for the Tag component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TagColor} [color] - Bulma color modifier for the tag.\n * @property {TagSize} [size] - Size modifier for the tag.\n * @property {boolean} [isRounded] - Whether the tag should have rounded corners.\n * @property {boolean} [isDelete] - Whether the tag is a delete button.\n * @property {boolean} [isHoverable] - Whether the tag is hoverable.\n * @property {() => void} [onDelete] - Callback fired when the delete button is clicked.\n * @property {React.ReactNode} [children] - Tag content.\n */\nexport interface TagProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n color?: TagColor;\n size?: TagSize;\n isRounded?: boolean;\n isDelete?: boolean;\n isHoverable?: boolean;\n onDelete?: () => void;\n children?: React.ReactNode;\n}\n\n/**\n * Tag component for rendering a styled Bulma tag.\n *\n * Supports colors, sizes, rounded, delete, and hoverable variants.\n *\n * @function\n * @param {TagProps} props - Props for the Tag component.\n * @returns {JSX.Element} The rendered tag element.\n * @see {@link https://bulma.io/documentation/elements/tag/ | Bulma Tag documentation}\n */\nexport const Tag: React.FC<TagProps> = ({\n className,\n color,\n size,\n isRounded,\n isDelete,\n isHoverable,\n onDelete,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tagClasses = classNames('tag', className, bulmaHelperClasses, {\n [`is-${color}`]: color && validTagColors.includes(color),\n [`is-${size}`]: size && size !== 'normal' && validTagSizes.includes(size),\n 'is-rounded': isRounded,\n 'is-delete': isDelete,\n 'is-hoverable': isHoverable,\n });\n\n if (isDelete) {\n return (\n <button\n className={tagClasses}\n onClick={onDelete}\n aria-label=\"Delete tag\"\n {...rest}\n />\n );\n }\n\n return (\n <span className={tagClasses} {...rest}>\n {children}\n </span>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tags component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [hasAddons] - Group tags together as addons.\n * @property {boolean} [isMultiline] - Allow tags to wrap onto multiple lines.\n * @property {React.ReactNode} [children] - Tag elements to render inside the container.\n */\nexport interface TagsProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n hasAddons?: boolean;\n isMultiline?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Tags component for rendering a styled Bulma tags container.\n *\n * Supports addons and multiline variants.\n *\n * @function\n * @param {TagsProps} props - Props for the Tags component.\n * @returns {JSX.Element} The rendered tags container.\n * @see {@link https://bulma.io/documentation/elements/tag/#list-of-tags | Bulma Tags documentation}\n */\nexport const Tags: React.FC<TagsProps> = ({\n className,\n hasAddons,\n isMultiline,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tagsClasses = classNames('tags', className, bulmaHelperClasses, {\n 'has-addons': hasAddons,\n 'are-multiline': isMultiline,\n });\n\n return (\n <div className={tagsClasses} {...rest}>\n {children}\n </div>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tbody component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Table body content (rows).\n */\nexport interface TbodyProps\n extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Tbody component for rendering a styled Bulma table body.\n *\n * Supports Bulma helper classes for additional styling.\n *\n * @function\n * @param {TbodyProps} props - Props for the Tbody component.\n * @returns {JSX.Element} The rendered table body element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-body | Bulma Table documentation}\n */\nexport const Tbody: React.FC<TbodyProps> = ({\n className,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tbodyClasses = classNames(className, bulmaHelperClasses);\n\n return (\n <tbody className={tbodyClasses} {...rest}>\n {children}\n </tbody>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nexport const validTableColors = [\n 'primary',\n 'link',\n 'info',\n 'success',\n 'warning',\n 'danger',\n 'black',\n 'dark',\n 'light',\n 'white',\n] as const;\n\n/**\n * Valid color values for the Td component (Bulma table cell colors).\n */\nexport type TableColor = (typeof validTableColors)[number];\n\n/**\n * Props for the Td component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TableColor} [color] - Bulma color modifier for the table cell.\n * @property {React.ReactNode} [children] - Table cell content.\n */\nexport interface TdProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n color?: TableColor;\n children?: React.ReactNode;\n}\n\n/**\n * Td component for rendering a styled Bulma table cell.\n *\n * Supports Bulma color modifiers and helper classes for additional styling.\n *\n * @function\n * @param {TdProps} props - Props for the Td component.\n * @returns {JSX.Element} The rendered table cell element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-body | Bulma Table documentation}\n */\nexport const Td: React.FC<TdProps> = ({\n className,\n color,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tdClasses = classNames(className, bulmaHelperClasses, {\n [`is-${color}`]: color && validTableColors.includes(color),\n });\n\n return (\n <td className={tdClasses} {...rest}>\n {children}\n </td>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Tfoot component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Table footer content (rows).\n */\nexport interface TfootProps\n extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Tfoot component for rendering a styled Bulma table footer.\n *\n * Supports Bulma helper classes for additional styling.\n *\n * @function\n * @param {TfootProps} props - Props for the Tfoot component.\n * @returns {JSX.Element} The rendered table footer element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-footer | Bulma Table documentation}\n */\nexport const Tfoot: React.FC<TfootProps> = ({\n className,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const tfootClasses = classNames(className, bulmaHelperClasses);\n\n return (\n <tfoot className={tfootClasses} {...rest}>\n {children}\n </tfoot>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\nimport { TableColor, validTableColors } from './Td';\n\nconst validAlignments = ['left', 'right', 'centered'] as const;\n/**\n * Valid alignment values for the Th component.\n */\ntype TableAlignment = (typeof validAlignments)[number];\n\n/**\n * Props for the Th component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TableAlignment} [isAligned] - Text alignment for the header cell ('left', 'right', 'centered').\n * @property {string|number} [width] - Width of the header cell (e.g., '100px' or 100).\n * @property {TableColor} [color] - Bulma color modifier for the header cell.\n * @property {React.ReactNode} [children] - Table header cell content.\n */\nexport interface ThProps\n extends Omit<React.ThHTMLAttributes<HTMLTableCellElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n isAligned?: TableAlignment;\n width?: string | number;\n color?: TableColor;\n children?: React.ReactNode;\n}\n\n/**\n * Th component for rendering a styled Bulma table header cell.\n *\n * Supports alignment, width, and color modifiers.\n *\n * @function\n * @param {ThProps} props - Props for the Th component.\n * @returns {JSX.Element} The rendered table header cell element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-head | Bulma Table documentation}\n */\nexport const Th: React.FC<ThProps> = ({\n className,\n isAligned,\n width,\n color,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const thClasses = classNames(className, bulmaHelperClasses, {\n [`has-text-${isAligned}`]: isAligned && validAlignments.includes(isAligned),\n [`is-${color}`]: color && validTableColors.includes(color),\n });\n\n return (\n <th\n className={thClasses}\n style={\n width\n ? { width: typeof width === 'number' ? `${width}px` : width }\n : undefined\n }\n {...rest}\n >\n {children}\n </th>\n );\n};\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Thead component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Table header content (rows).\n */\nexport interface TheadProps\n extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Thead component for rendering a styled Bulma table header.\n *\n * Supports Bulma helper classes for additional styling.\n *\n * @function\n * @param {TheadProps} props - Props for the Thead component.\n * @returns {JSX.Element} The rendered table header element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-head | Bulma Table documentation}\n */\nexport const Thead: React.FC<TheadProps> = ({\n className,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const theadClasses = classNames(className, bulmaHelperClasses);\n\n return (\n <thead className={theadClasses} {...rest}>\n {children}\n </thead>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\nconst validTitleSizes = ['1', '2', '3', '4', '5', '6'] as const;\n/**\n * Valid size values for the Title component (Bulma title sizes).\n */\nexport type TitleSize = (typeof validTitleSizes)[number];\n\nconst validTitleElements = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p'] as const;\n/**\n * Valid HTML elements for the Title component.\n */\nexport type TitleElement = (typeof validTitleElements)[number];\n\n/**\n * Props for the Title component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {TitleSize} [size] - Size of the title (1-6).\n * @property {boolean} [isSpaced] - Adds margin below the title.\n * @property {TitleElement} [as='h1'] - HTML element to render as (h1-h6 or p).\n * @property {boolean} [hasSkeleton] - Adds the has-skeleton CSS class.\n * @property {React.ReactNode} [children] - Title content.\n */\nexport interface TitleProps\n extends Omit<\n React.HTMLAttributes<HTMLHeadingElement | HTMLParagraphElement>,\n 'color'\n >,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n size?: TitleSize;\n isSpaced?: boolean;\n as?: TitleElement;\n hasSkeleton?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Title component for rendering a styled Bulma title.\n *\n * Supports sizes, spacing, and rendering as different HTML elements.\n *\n * @function\n * @param {TitleProps} props - Props for the Title component.\n * @returns {JSX.Element} The rendered title element.\n * @see {@link https://bulma.io/documentation/elements/title/ | Bulma Title documentation}\n */\nexport const Title: React.FC<TitleProps> = ({\n className,\n size,\n isSpaced,\n as = 'h1',\n hasSkeleton,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n // Validate 'as' prop at runtime\n const element = validTitleElements.includes(as) ? as : 'h1';\n\n // Validate 'size' prop at runtime\n const validSize = size && validTitleSizes.includes(size) ? size : undefined;\n\n const titleClasses = classNames('title', className, bulmaHelperClasses, {\n [`is-${validSize}`]: validSize,\n 'is-spaced': isSpaced,\n 'has-skeleton': hasSkeleton,\n });\n\n // Determine the tag based on 'element' and 'validSize'\n const Tag: React.ElementType =\n element === 'p' ? 'p' : validSize ? `h${validSize}` : element;\n\n return (\n <Tag className={titleClasses} {...rest}>\n {children}\n </Tag>\n );\n};\n\nexport default Title;\n","/**\n * @group Table\n */\nimport React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\nimport { TableColor, validTableColors } from './Td'; // Import TableColor from Td\n\n/**\n * Props for the Tr component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [isSelected] - Whether the row is selected (adds Bulma's is-selected class).\n * @property {TableColor} [color] - Bulma color modifier for the table row.\n * @property {React.ReactNode} [children] - Table row content (cells).\n */\nexport interface TrProps\n extends Omit<React.HTMLAttributes<HTMLTableRowElement>, 'color'>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n className?: string;\n isSelected?: boolean;\n color?: TableColor;\n children?: React.ReactNode;\n}\n\n/**\n * Tr component for rendering a styled Bulma table row.\n *\n * Supports the is-selected modifier and color modifiers.\n *\n * @function\n * @param {TrProps} props - Props for the Tr component.\n * @returns {JSX.Element} The rendered table row element.\n * @see {@link https://bulma.io/documentation/elements/table/#table-row | Bulma Table documentation}\n */\nexport const Tr: React.FC<TrProps> = ({\n className,\n isSelected,\n color,\n children,\n ...props\n}) => {\n /**\n * Generates Bulma helper classes and separates out remaining props.\n */\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const trClasses = classNames(className, bulmaHelperClasses, {\n 'is-selected': isSelected,\n [`is-${color}`]: color && validTableColors.includes(color),\n });\n\n return (\n <tr className={trClasses} {...rest}>\n {children}\n </tr>\n );\n};\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Checkbox component.\n *\n * @property {boolean} [disabled] - Whether the checkbox is disabled.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - The label/content for the checkbox.\n * @see Bulma Checkbox documentation: https://bulma.io/documentation/form/checkbox/\n */\nexport interface CheckboxProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'>,\n Omit<BulmaClassesProps, 'color'> {\n disabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Checkbox component with Bulma helper classes support.\n * The label is provided via the children prop.\n *\n * @function\n * @param {CheckboxProps} props - Props for the Checkbox component.\n * @returns {JSX.Element} The rendered checkbox element.\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ disabled, className, children, ...props }, ref) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const checkboxClass = classNames('checkbox', bulmaHelperClasses, className);\n\n return (\n <label className={checkboxClass}>\n <input ref={ref} type=\"checkbox\" disabled={disabled} {...rest} />\n {children}\n </label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Checkboxes component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Checkbox elements to render in the group.\n */\nexport interface CheckboxesProps extends Omit<BulmaClassesProps, 'color'> {\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Wraps Checkbox components inside a Bulma 'checkboxes' wrapper.\n * Leverages useBulmaClasses for consistency with other components.\n *\n * @function\n * @param {CheckboxesProps} props - Props for the Checkboxes component.\n * @returns {JSX.Element} The rendered checkboxes group.\n * @see {@link https://bulma.io/documentation/form/checkbox/#grouped-checkboxes | Bulma Checkboxes documentation}\n */\nexport const Checkboxes: React.FC<CheckboxesProps> = ({\n children,\n className,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const wrapperClass = classNames('checkboxes', bulmaHelperClasses, className);\n\n return (\n <div className={wrapperClass} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Checkboxes;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\nimport { Icon, IconProps } from '../elements/Icon';\n\n/**\n * Props for the Control component.\n *\n * @property {boolean} [hasIconsLeft] - Adds left icon container.\n * @property {boolean} [hasIconsRight] - Adds right icon container.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {boolean} [isExpanded] - Makes the control expand to fill available space.\n * @property {'small'|'medium'|'large'} [size] - Sets the control size.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Sets text color.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the control.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {IconProps} [iconLeft] - Icon props for left icon.\n * @property {IconProps} [iconRight] - Icon props for right icon.\n * @property {string} [iconLeftName] - Shortcut for left icon name.\n * @property {'small'|'medium'|'large'} [iconLeftSize] - Shortcut for left icon size.\n * @property {string} [iconRightName] - Shortcut for right icon name.\n * @property {'small'|'medium'|'large'} [iconRightSize] - Shortcut for right icon size.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - Content inside the control.\n * @property {'div'|'p'} [as] - Element type for the control (default: 'div').\n * @property {React.Ref<HTMLDivElement|HTMLParagraphElement>} [ref] - Ref for the control element.\n */\nexport interface ControlBaseProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n hasIconsLeft?: boolean;\n hasIconsRight?: boolean;\n isLoading?: boolean;\n isExpanded?: boolean;\n size?: 'small' | 'medium' | 'large';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n iconLeft?: IconProps;\n iconRight?: IconProps;\n iconLeftName?: string;\n iconLeftSize?: 'small' | 'medium' | 'large';\n iconRightName?: string;\n iconRightSize?: 'small' | 'medium' | 'large';\n className?: string;\n children?: React.ReactNode;\n}\n\ntype ControlProps =\n | ({ as?: 'div' } & ControlBaseProps & { ref?: React.Ref<HTMLDivElement> })\n | ({ as: 'p' } & Omit<\n ControlBaseProps,\n keyof React.HTMLAttributes<HTMLDivElement>\n > &\n React.HTMLAttributes<HTMLParagraphElement> & {\n ref?: React.Ref<HTMLParagraphElement>;\n });\n\nconst allowedColors = [...validColors, 'inherit', 'current'] as const;\n\n/**\n * Bulma Control component for form controls, with icons, loading, and Bulma helper support.\n *\n * @function\n * @param {ControlProps} props - Props for the Control component.\n * @returns {JSX.Element} The rendered control container.\n * @see {@link https://bulma.io/documentation/form/general/#control | Bulma Control documentation}\n */\nexport const Control = React.forwardRef<\n HTMLDivElement | HTMLParagraphElement,\n ControlProps\n>(\n (\n {\n as = 'div',\n hasIconsLeft,\n hasIconsRight,\n isLoading,\n isExpanded,\n size,\n textColor,\n bgColor,\n iconLeft,\n iconRight,\n iconLeftName,\n iconLeftSize,\n iconRightName,\n iconRightSize,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const Component = (as === 'p' ? 'p' : 'div') as 'div' | 'p';\n\n // Remove textColor/bgColor from props before spreading\n const {\n textColor: _ignoredTextColor,\n bgColor: _ignoredBgColor,\n ...restProps\n } = props as Record<string, unknown>;\n\n const safeTextColor = allowedColors.includes(\n textColor as (typeof allowedColors)[number]\n )\n ? textColor\n : undefined;\n\n const safeBgColor = allowedColors.includes(\n bgColor as (typeof allowedColors)[number]\n )\n ? bgColor\n : undefined;\n\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: safeTextColor,\n backgroundColor: safeBgColor,\n ...restProps,\n });\n\n // Prepare icon props for the shortcut\n const leftIconProps: IconProps | undefined =\n iconLeft ||\n (iconLeftName\n ? {\n name: iconLeftName,\n size: iconLeftSize,\n }\n : undefined);\n\n const rightIconProps: IconProps | undefined =\n iconRight ||\n (iconRightName\n ? {\n name: iconRightName,\n size: iconRightSize,\n }\n : undefined);\n\n const controlClass = classNames(\n 'control',\n bulmaHelperClasses,\n {\n 'has-icons-left': hasIconsLeft || !!leftIconProps,\n 'has-icons-right': hasIconsRight || !!rightIconProps,\n 'is-loading': isLoading,\n 'is-expanded': isExpanded,\n [`is-${size}`]: !!size,\n },\n className\n );\n\n // --- FIX: Spread both restProps (for data-testid, etc) AND rest (from useBulmaClasses) ---\n return (\n <Component\n className={controlClass}\n ref={ref as typeof ref}\n {...restProps}\n {...rest}\n >\n {children}\n {leftIconProps && leftIconProps.name && (\n <Icon {...leftIconProps} className=\"is-left\" />\n )}\n {rightIconProps && rightIconProps.name && (\n <Icon {...rightIconProps} className=\"is-right\" />\n )}\n </Component>\n );\n }\n);\n\nControl.displayName = 'Control';\n\nexport default Control;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Field component.\n *\n * @property {boolean} [horizontal] - Renders the field as horizontal (label and control side by side).\n * @property {boolean|'centered'|'right'|'multiline'} [grouped] - Group controls in a row (optionally centered, right, or multiline).\n * @property {boolean} [hasAddons] - Group controls as addons.\n * @property {React.ReactNode} [label] - Field label.\n * @property {'small'|'normal'|'medium'|'large'} [labelSize] - Size for the label.\n * @property {object} [labelProps] - Props for the label element.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the field.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the field.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the field.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Field content.\n */\nexport interface FieldProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n horizontal?: boolean;\n grouped?: boolean | 'centered' | 'right' | 'multiline';\n hasAddons?: boolean;\n label?: React.ReactNode;\n labelSize?: 'small' | 'normal' | 'medium' | 'large';\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement> & {\n [key: string]: unknown;\n };\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the FieldLabel component.\n *\n * @property {'small'|'normal'|'medium'|'large'} [size] - Size for the field label.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the label.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the label.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the label.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Field label content.\n */\nexport interface FieldLabelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n size?: 'small' | 'normal' | 'medium' | 'large';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Props for the FieldBody component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the field body.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color for the field body.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the field body.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Field body content.\n */\nexport interface FieldBodyProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * FieldLabel component for rendering a Bulma field label.\n *\n * @function\n * @param {FieldLabelProps} props - Props for the FieldLabel component.\n * @returns {JSX.Element} The rendered field label.\n */\nexport const FieldLabel: React.FC<FieldLabelProps> = ({\n size,\n textColor,\n bgColor,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const fieldLabelClass = classNames(\n 'field-label',\n bulmaHelperClasses,\n { [`is-${size}`]: size },\n className\n );\n // Spread ...props and ...rest so custom props like data-testid are included\n return (\n <div className={fieldLabelClass} {...props} {...rest}>\n {children}\n </div>\n );\n};\n\n/**\n * FieldBody component for rendering Bulma field body.\n *\n * @function\n * @param {FieldBodyProps} props - Props for the FieldBody component.\n * @returns {JSX.Element} The rendered field body.\n */\nexport const FieldBody: React.FC<FieldBodyProps> = ({\n textColor,\n bgColor,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const fieldBodyClass = classNames(\n 'field-body',\n bulmaHelperClasses,\n className\n );\n // Spread ...props and ...rest so custom props like data-testid are included\n return (\n <div className={fieldBodyClass} {...props} {...rest}>\n {children}\n </div>\n );\n};\n\n/**\n * Field component for rendering a Bulma field container.\n * Supports horizontal, grouped, and labelled fields.\n *\n * @function\n * @param {FieldProps} props - Props for the Field component.\n * @returns {JSX.Element} The rendered field container.\n * @see {@link https://bulma.io/documentation/form/general/#field | Bulma Field documentation}\n */\nexport const Field: React.FC<FieldProps> & {\n Label: typeof FieldLabel;\n Body: typeof FieldBody;\n} = ({\n horizontal,\n grouped,\n hasAddons,\n label,\n labelSize,\n labelProps,\n textColor,\n bgColor,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const fieldClass = classNames(\n 'field',\n bulmaHelperClasses,\n {\n 'is-horizontal': horizontal,\n 'has-addons': !!hasAddons,\n 'is-grouped':\n grouped === true ||\n grouped === 'centered' ||\n grouped === 'right' ||\n grouped === 'multiline',\n 'is-grouped-centered': grouped === 'centered',\n 'is-grouped-right': grouped === 'right',\n 'is-grouped-multiline': grouped === 'multiline',\n },\n className\n );\n\n // Map 'normal' to undefined for FieldLabel size prop\n const mappedLabelSize: FieldLabelProps['size'] =\n labelSize === 'normal' ? undefined : labelSize;\n\n let renderedLabel = null;\n if (label) {\n if (horizontal) {\n renderedLabel = (\n <FieldLabel size={mappedLabelSize}>\n <label\n {...labelProps}\n className={classNames('label', labelProps?.className)}\n style={labelProps?.style}\n >\n {label}\n </label>\n </FieldLabel>\n );\n } else {\n renderedLabel = (\n <label\n {...labelProps}\n className={classNames('label', labelProps?.className)}\n style={{ display: 'block', ...(labelProps?.style || {}) }}\n >\n {label}\n </label>\n );\n }\n }\n\n // If horizontal, wrap children in FieldBody (unless children is already a FieldBody)\n let content = children;\n if (horizontal) {\n // If children is a FieldBody already, don't double wrap\n // Simple check using displayName\n if (\n React.isValidElement(children) &&\n // @ts-expect-error children.type && children.type.displayName &&\n (children.type === FieldBody || children.type.displayName === 'FieldBody')\n ) {\n content = children;\n } else {\n content = <FieldBody>{children}</FieldBody>;\n }\n }\n\n return (\n <div className={fieldClass} {...rest}>\n {renderedLabel}\n {content}\n </div>\n );\n};\n\nFieldLabel.displayName = 'FieldLabel';\nFieldBody.displayName = 'FieldBody';\nField.Label = FieldLabel;\nField.Body = FieldBody;\n\nexport default Field;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the File component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the file input.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the file input.\n * @property {boolean} [isBoxed] - Whether the file input is boxed.\n * @property {boolean} [isFullwidth] - Whether the file input expands to full width.\n * @property {boolean} [isRight] - Align file input to the right.\n * @property {boolean} [isCentered] - Center the file input.\n * @property {boolean} [hasName] - Show a file name indicator.\n * @property {React.ReactNode} [label] - Custom label text or node.\n * @property {React.ReactNode} [iconLeft] - Left icon element.\n * @property {React.ReactNode} [iconRight] - Right icon element.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {string} [inputClassName] - Additional CSS classes for the input.\n * @property {string} [fileName] - File name to display.\n */\nexport interface FileProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'color' | 'type'\n >,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isBoxed?: boolean;\n isFullwidth?: boolean;\n isRight?: boolean;\n isCentered?: boolean;\n hasName?: boolean;\n label?: React.ReactNode;\n iconLeft?: React.ReactNode;\n iconRight?: React.ReactNode;\n className?: string;\n inputClassName?: string;\n fileName?: string;\n}\n\n/**\n * Bulma File upload component with full Bulma helper class support.\n * isRight and isCentered are mutually exclusive (Bulma spec).\n *\n * @function\n * @param {FileProps} props - Props for the File component.\n * @returns {JSX.Element} The rendered file upload field.\n * @see {@link https://bulma.io/documentation/form/file/ | Bulma File documentation}\n */\nexport const File = forwardRef<HTMLInputElement, FileProps>(\n (\n {\n color,\n size,\n isBoxed,\n isFullwidth,\n isRight,\n isCentered,\n hasName,\n label,\n iconLeft,\n iconRight,\n className,\n inputClassName,\n fileName,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n // Mutually exclusive alignment\n let alignmentClass: string | undefined;\n if (isRight && isCentered) {\n // If both are set, prefer isRight and warn in dev\n alignmentClass = 'is-right';\n } else if (isRight) {\n alignmentClass = 'is-right';\n } else if (isCentered) {\n alignmentClass = 'is-centered';\n }\n\n const fileClass = classNames(\n 'file',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-boxed': isBoxed,\n 'is-fullwidth': isFullwidth,\n 'has-name': hasName,\n },\n alignmentClass,\n className\n );\n\n return (\n <div className={fileClass}>\n <label className=\"file-label\">\n <input\n ref={ref}\n className={classNames('file-input', inputClassName)}\n type=\"file\"\n {...rest}\n />\n <span className=\"file-cta\">\n {iconLeft && <span className=\"file-icon\">{iconLeft}</span>}\n <span className=\"file-label\">{label || 'Choose a file…'}</span>\n {iconRight && <span className=\"file-icon\">{iconRight}</span>}\n </span>\n {hasName && fileName && <span className=\"file-name\">{fileName}</span>}\n </label>\n </div>\n );\n }\n);\n\nFile.displayName = 'File';\n\nexport default File;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Input component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the input.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the input.\n * @property {boolean} [isRounded] - Renders the input with rounded corners.\n * @property {boolean} [isStatic] - Renders the input as static text.\n * @property {boolean} [isHovered] - Applies the hovered state.\n * @property {boolean} [isFocused] - Applies the focused state.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [disabled] - Whether the input is disabled.\n * @property {boolean} [readOnly] - Whether the input is read-only.\n */\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isRounded?: boolean;\n isStatic?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isLoading?: boolean;\n className?: string;\n disabled?: boolean;\n readOnly?: boolean;\n}\n\n/**\n * Bulma Input component with full Bulma helper class support.\n *\n * @function\n * @param {InputProps} props - Props for the Input component.\n * @returns {JSX.Element} The rendered input element.\n * @see {@link https://bulma.io/documentation/form/input/ | Bulma Input documentation}\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n color,\n size,\n isRounded,\n isStatic,\n isHovered,\n isFocused,\n isLoading,\n className,\n disabled,\n readOnly,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const inputClass = classNames(\n 'input',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-rounded': isRounded,\n 'is-static': isStatic,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'is-loading': isLoading,\n },\n className\n );\n\n return (\n <input\n ref={ref}\n className={inputClass}\n disabled={disabled}\n readOnly={readOnly}\n {...rest}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport default Input;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Radio component.\n *\n * @property {boolean} [disabled] - Whether the radio is disabled.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} [children] - The label/content for the radio.\n * @see Bulma Radio documentation: https://bulma.io/documentation/form/radio/\n */\nexport interface RadioProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'>,\n Omit<BulmaClassesProps, 'color'> {\n disabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Radio component with Bulma helper classes support.\n * The label is provided via the children prop.\n *\n * @function\n * @param {RadioProps} props - Props for the Radio component.\n * @returns {JSX.Element} The rendered radio element.\n */\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n ({ disabled, className, children, ...props }, ref) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const radioClass = classNames('radio', bulmaHelperClasses, className);\n\n return (\n <label className={radioClass}>\n <input ref={ref} type=\"radio\" disabled={disabled} {...rest} />\n {children}\n </label>\n );\n }\n);\n\nRadio.displayName = 'Radio';\n\nexport default Radio;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Radios component.\n *\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {React.ReactNode} children - Radio elements to render in the group.\n */\nexport interface RadiosProps extends Omit<BulmaClassesProps, 'color'> {\n className?: string;\n children: React.ReactNode;\n}\n\n/**\n * Wraps Radio components inside a Bulma 'radios' wrapper.\n * Leverages useBulmaClasses for consistency with other components.\n *\n * @function\n * @param {RadiosProps} props - Props for the Radios component.\n * @returns {JSX.Element} The rendered radios group.\n * @see {@link https://bulma.io/documentation/form/radio/#grouped-radios | Bulma Radios documentation}\n */\nexport const Radios: React.FC<RadiosProps> = ({\n children,\n className,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n ...props,\n });\n\n const wrapperClass = classNames('radios', bulmaHelperClasses, className);\n\n return (\n <div className={wrapperClass} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Radios;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Select component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the select.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the select.\n * @property {boolean} [isRounded] - Renders the select with rounded corners.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {boolean} [isActive] - Applies Bulma's is-active modifier.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [disabled] - Whether the select is disabled.\n * @property {boolean} [multiple] - Whether the select allows multiple values.\n * @property {number} [multipleSize] - For multiple select: number of visible options.\n * @property {React.ReactNode} [children] - Option elements.\n */\nexport interface SelectProps\n extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'>,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isRounded?: boolean;\n isLoading?: boolean;\n isActive?: boolean;\n className?: string;\n disabled?: boolean;\n multiple?: boolean;\n multipleSize?: number;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Select component with full Bulma helper class support.\n *\n * @function\n * @param {SelectProps} props - Props for the Select component.\n * @returns {JSX.Element} The rendered select element.\n * @see {@link https://bulma.io/documentation/form/select/ | Bulma Select documentation}\n */\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n color,\n size,\n isRounded,\n isLoading,\n isActive,\n className,\n disabled,\n children,\n multiple,\n multipleSize,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const selectClass = classNames(\n 'select',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-rounded': isRounded,\n 'is-loading': isLoading,\n 'is-active': isActive,\n },\n className\n );\n\n // Only set size attribute when multiple is true and multipleSize is specified\n const selectProps: React.SelectHTMLAttributes<HTMLSelectElement> = {\n disabled,\n multiple,\n ...rest,\n };\n\n if (multiple && typeof multipleSize === 'number') {\n selectProps.size = multipleSize;\n }\n\n return (\n <div className={selectClass}>\n <select ref={ref} {...selectProps}>\n {children}\n </select>\n </div>\n );\n }\n);\n\nSelect.displayName = 'Select';\n\nexport default Select;\n","import React, { forwardRef } from 'react';\nimport classNames from '../helpers/classNames';\nimport { useBulmaClasses, BulmaClassesProps } from '../helpers/useBulmaClasses';\n\n/**\n * Props for the TextArea component.\n *\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the textarea.\n * @property {'small'|'medium'|'large'} [size] - Size modifier for the textarea.\n * @property {boolean} [isRounded] - Renders the textarea with rounded corners.\n * @property {boolean} [isStatic] - Renders the textarea as static text.\n * @property {boolean} [isHovered] - Applies the hovered state.\n * @property {boolean} [isFocused] - Applies the focused state.\n * @property {boolean} [isLoading] - Shows loading indicator.\n * @property {boolean} [isActive] - Applies Bulma's is-active modifier.\n * @property {boolean} [hasFixedSize] - Applies Bulma's has-fixed-size modifier.\n * @property {string} [className] - Additional CSS classes to apply.\n * @property {boolean} [disabled] - Whether the textarea is disabled.\n * @property {boolean} [readOnly] - Whether the textarea is read-only.\n * @property {number} [rows] - Number of visible text lines.\n */\nexport interface TextAreaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>,\n Omit<BulmaClassesProps, 'color'> {\n color?:\n | 'primary'\n | 'link'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'black'\n | 'dark'\n | 'light'\n | 'white';\n size?: 'small' | 'medium' | 'large';\n isRounded?: boolean;\n isStatic?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isLoading?: boolean;\n isActive?: boolean;\n hasFixedSize?: boolean;\n className?: string;\n disabled?: boolean;\n readOnly?: boolean;\n rows?: number;\n}\n\n/**\n * Bulma TextArea component with full Bulma helper class support.\n *\n * @function\n * @param {TextAreaProps} props - Props for the TextArea component.\n * @returns {JSX.Element} The rendered textarea element.\n * @see {@link https://bulma.io/documentation/form/textarea/ | Bulma Textarea documentation}\n */\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n color,\n size,\n isRounded,\n isStatic,\n isHovered,\n isFocused,\n isLoading,\n isActive,\n hasFixedSize,\n className,\n disabled,\n readOnly,\n rows,\n ...props\n },\n ref\n ) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n ...props,\n });\n\n const textareaClass = classNames(\n 'textarea',\n bulmaHelperClasses,\n {\n [`is-${color}`]: color,\n [`is-${size}`]: size,\n 'is-rounded': isRounded,\n 'is-static': isStatic,\n 'is-hovered': isHovered,\n 'is-focused': isFocused,\n 'is-loading': isLoading,\n 'is-active': isActive,\n 'has-fixed-size': hasFixedSize,\n },\n className\n );\n\n return (\n <textarea\n ref={ref}\n className={textareaClass}\n disabled={disabled}\n readOnly={readOnly}\n rows={rows}\n {...rest}\n />\n );\n }\n);\nTextArea.displayName = 'TextArea';\n\nexport default TextArea;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Type for grid cell span values.\n */\nexport type CellSpanValue = number;\n\n/**\n * Props for the Cell component.\n *\n * @property {number} [colStart] - Which column the cell starts at (Bulma: is-col-start-x).\n * @property {number} [colFromEnd] - Which column the cell ends at, counting from the end (Bulma: is-col-from-end-x).\n * @property {CellSpanValue} [colSpan] - How many columns the cell will span (Bulma: is-col-span-x).\n * @property {number} [rowStart] - Which row the cell starts at (Bulma: is-row-start-x).\n * @property {number} [rowFromEnd] - Which row the cell ends at, counting from the end (Bulma: is-row-from-end-x).\n * @property {CellSpanValue} [rowSpan] - How many rows the cell will span (Bulma: is-row-span-x).\n * @property {string} [className] - Additional CSS class names.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the cell.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {React.ReactNode} [children] - Children to render inside the cell.\n */\nexport interface CellProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n colStart?: number;\n colFromEnd?: number;\n colSpan?: CellSpanValue;\n rowStart?: number;\n rowFromEnd?: number;\n rowSpan?: CellSpanValue;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma grid cell class names for the Cell component.\n */\nfunction getCellGridClasses(props: CellProps): string[] {\n const classes: string[] = [];\n\n if (props.colStart !== undefined)\n classes.push(`is-col-start-${props.colStart}`);\n if (props.colFromEnd !== undefined)\n classes.push(`is-col-from-end-${props.colFromEnd}`);\n if (props.colSpan !== undefined) classes.push(`is-col-span-${props.colSpan}`);\n\n if (props.rowStart !== undefined)\n classes.push(`is-row-start-${props.rowStart}`);\n if (props.rowFromEnd !== undefined)\n classes.push(`is-row-from-end-${props.rowFromEnd}`);\n if (props.rowSpan !== undefined) classes.push(`is-row-span-${props.rowSpan}`);\n\n return classes;\n}\n\n/**\n * Bulma Cell component for CSS Grid layouts.\n *\n * @function\n * @param {CellProps} props - Props for the Cell component.\n * @returns {JSX.Element} The rendered grid cell.\n * @see {@link https://bulma.io/documentation/grid/ | Bulma Grid documentation}\n */\nexport const Cell: React.FC<CellProps> = ({\n colStart,\n colFromEnd,\n colSpan,\n rowStart,\n rowFromEnd,\n rowSpan,\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n const cellClasses = classNames(\n 'cell',\n ...getCellGridClasses({\n colStart,\n colFromEnd,\n colSpan,\n rowStart,\n rowFromEnd,\n rowSpan,\n }),\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={cellClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Allowed gap values for Bulma grid.\n */\nexport type BulmaGapValue = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n/**\n * Allowed minimum column values for Bulma grid.\n */\nexport type BulmaMinColValue =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 13\n | 14\n | 15\n | 16\n | 17\n | 18\n | 19\n | 20\n | 21\n | 22\n | 23\n | 24\n | 25\n | 26\n | 27\n | 28\n | 29\n | 30\n | 31\n | 32;\n/**\n * Allowed fixed grid columns for Bulma grid.\n */\nexport type BulmaFixedGridCols =\n | 0\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12;\n/**\n * Allowed fixed grid columns prop for Bulma grid.\n */\nexport type BulmaFixedGridColsProp = BulmaFixedGridCols | 'auto';\n\n/**\n * Props for the Grid component.\n *\n * @property {boolean} [isFixed] - Use a fixed grid layout (Bulma's .fixed-grid > .grid).\n * @property {BulmaGapValue} [gap] - Main gap for grid (applies is-gap-X, 0-8).\n * @property {BulmaGapValue} [columnGap] - Column gap for grid (applies is-column-gap-X, 0-8).\n * @property {BulmaGapValue} [rowGap] - Row gap for grid (applies is-row-gap-X, 0-8).\n * @property {BulmaMinColValue} [minCol] - Minimum column width for the grid (applies is-col-min-X, 1-32).\n * @property {BulmaFixedGridColsProp} [fixedCols] - For fixed grid only: explicit column count (applies has-X-cols, 0-12), or 'auto' for has-auto-count.\n * @property {BulmaFixedGridCols} [fixedColsMobile] - For fixed grid only: explicit column count for mobile.\n * @property {BulmaFixedGridCols} [fixedColsTablet] - For fixed grid only: explicit column count for tablet.\n * @property {BulmaFixedGridCols} [fixedColsDesktop] - For fixed grid only: explicit column count for desktop.\n * @property {BulmaFixedGridCols} [fixedColsWidescreen] - For fixed grid only: explicit column count for widescreen.\n * @property {BulmaFixedGridCols} [fixedColsFullhd] - For fixed grid only: explicit column count for fullhd.\n * @property {string} [className] - Additional CSS class names.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the grid.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').\n * @property {React.ReactNode} [children] - Children to render inside the grid.\n */\nexport interface GridProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n isFixed?: boolean;\n gap?: BulmaGapValue;\n columnGap?: BulmaGapValue;\n rowGap?: BulmaGapValue;\n minCol?: BulmaMinColValue;\n fixedCols?: BulmaFixedGridColsProp;\n fixedColsMobile?: BulmaFixedGridCols;\n fixedColsTablet?: BulmaFixedGridCols;\n fixedColsDesktop?: BulmaFixedGridCols;\n fixedColsWidescreen?: BulmaFixedGridCols;\n fixedColsFullhd?: BulmaFixedGridCols;\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Builds Bulma grid inner classes for the Grid component.\n */\nfunction getGridInnerClasses({\n gap,\n columnGap,\n rowGap,\n minCol,\n}: Pick<GridProps, 'gap' | 'columnGap' | 'rowGap' | 'minCol'>): string[] {\n const classes: string[] = [];\n if (gap !== undefined) classes.push(`is-gap-${gap}`);\n if (columnGap !== undefined) classes.push(`is-column-gap-${columnGap}`);\n if (rowGap !== undefined) classes.push(`is-row-gap-${rowGap}`);\n if (minCol !== undefined) classes.push(`is-col-min-${minCol}`);\n return classes;\n}\n\n/**\n * Builds Bulma fixed grid classes for the Grid component.\n */\nfunction getFixedGridClasses({\n fixedCols,\n fixedColsMobile,\n fixedColsTablet,\n fixedColsDesktop,\n fixedColsWidescreen,\n fixedColsFullhd,\n}: Pick<\n GridProps,\n | 'fixedCols'\n | 'fixedColsMobile'\n | 'fixedColsTablet'\n | 'fixedColsDesktop'\n | 'fixedColsWidescreen'\n | 'fixedColsFullhd'\n>): string[] {\n const classes: string[] = [];\n if (fixedCols === 'auto') {\n // 'auto' overrides all other column settings\n classes.push('has-auto-count');\n return classes;\n }\n if (fixedCols !== undefined) classes.push(`has-${fixedCols}-cols`);\n if (fixedColsMobile !== undefined)\n classes.push(`has-${fixedColsMobile}-cols-mobile`);\n if (fixedColsTablet !== undefined)\n classes.push(`has-${fixedColsTablet}-cols-tablet`);\n if (fixedColsDesktop !== undefined)\n classes.push(`has-${fixedColsDesktop}-cols-desktop`);\n if (fixedColsWidescreen !== undefined)\n classes.push(`has-${fixedColsWidescreen}-cols-widescreen`);\n if (fixedColsFullhd !== undefined)\n classes.push(`has-${fixedColsFullhd}-cols-fullhd`);\n return classes;\n}\n\n/**\n * Bulma Grid component for CSS Grid layouts, supports both fixed and responsive grid modes.\n *\n * @function\n * @param {GridProps} props - Props for the Grid component.\n * @returns {JSX.Element} The rendered grid.\n * @see {@link https://bulma.io/documentation/grid/ | Bulma Grid documentation}\n */\nexport const Grid: React.FC<GridProps> = ({\n isFixed = false,\n gap,\n columnGap,\n rowGap,\n minCol,\n fixedCols,\n fixedColsMobile,\n fixedColsTablet,\n fixedColsDesktop,\n fixedColsWidescreen,\n fixedColsFullhd,\n className,\n textColor,\n bgColor,\n children,\n ...props\n}) => {\n // Map textColor and bgColor to color and backgroundColor for useBulmaClasses\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n const gridClasses = classNames(\n 'grid',\n ...getGridInnerClasses({ gap, columnGap, rowGap, minCol }),\n bulmaHelperClasses,\n className\n );\n\n if (isFixed) {\n // Apply has-X-cols and responsive column count classes to the outer fixed-grid container\n const fixedGridClasses = classNames(\n 'fixed-grid',\n ...getFixedGridClasses({\n fixedCols,\n fixedColsMobile,\n fixedColsTablet,\n fixedColsDesktop,\n fixedColsWidescreen,\n fixedColsFullhd,\n })\n );\n return (\n <div className={fixedGridClasses}>\n <div className={gridClasses} {...rest}>\n {children}\n </div>\n </div>\n );\n }\n\n // Standard Bulma grid (not fixed)\n return (\n <div className={gridClasses} {...rest}>\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Bulma container breakpoints.\n */\nexport type ContainerBreakpoint = 'tablet' | 'desktop' | 'widescreen';\n\n/**\n * Props for the Container component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {boolean} [fluid] - Full-width container.\n * @property {boolean} [widescreen] - Container is widescreen.\n * @property {boolean} [fullhd] - Container is fullhd.\n * @property {ContainerBreakpoint} [breakpoint] - Responsive breakpoint.\n * @property {boolean} [isMax] - Use is-max-* class for breakpoint.\n * @property {React.ReactNode} [children] - Content inside the container.\n */\nexport interface ContainerProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n fluid?: boolean;\n widescreen?: boolean;\n fullhd?: boolean;\n breakpoint?: ContainerBreakpoint;\n isMax?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Container component for Bulma.\n * Adds optional responsive, fluid, and color support, including is-max-* and breakpoint classes.\n *\n * @function\n * @param {ContainerProps} props - Props for the Container component.\n * @returns {JSX.Element} The rendered container.\n * @see {@link https://bulma.io/documentation/layout/container/ | Bulma Container documentation}\n */\nexport const Container: React.FC<ContainerProps> = ({\n className,\n textColor,\n bgColor,\n fluid,\n widescreen,\n fullhd,\n breakpoint,\n isMax,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor,\n backgroundColor: bgColor,\n ...props,\n });\n\n // Only allow isMax for supported breakpoints\n const validMaxBreakpoints: ContainerBreakpoint[] = [\n 'tablet',\n 'desktop',\n 'widescreen',\n ];\n let breakpointClass: string | undefined;\n if (breakpoint) {\n if (isMax && validMaxBreakpoints.includes(breakpoint)) {\n breakpointClass = `is-max-${breakpoint}`;\n } else if (!isMax) {\n breakpointClass = `is-${breakpoint}`;\n }\n }\n\n const containerClasses = classNames(\n 'container',\n {\n 'is-fluid': fluid,\n 'is-widescreen': widescreen,\n 'is-fullhd': fullhd,\n },\n breakpointClass,\n className,\n bulmaHelperClasses\n );\n\n return (\n <div className={containerClasses} {...rest}>\n {children}\n </div>\n );\n};\n\nexport default Container;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Footer component.\n *\n * @property {'footer'|'div'} [as] - The HTML tag to render as.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content inside the footer.\n */\nexport interface FooterProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'footer' | 'div';\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Footer component.\n *\n * @example\n * <Footer>\n * <div className=\"content has-text-centered\">...</div>\n * </Footer>\n * @see {@link https://bulma.io/documentation/layout/footer/ | Bulma Footer documentation}\n */\nexport const Footer: React.FC<FooterProps> = ({\n as = 'footer',\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n return (\n <Tag\n className={classNames('footer', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\nexport default Footer;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Possible values for Bulma hero size.\n */\nexport type HeroSize =\n | 'small'\n | 'medium'\n | 'large'\n | 'fullheight'\n | 'fullheight-with-navbar';\n\n/**\n * Props for the Hero component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {HeroSize} [size] - Hero size.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {boolean} [fullheightWithNavbar] - Use fullheight with navbar.\n * @property {React.ReactNode} [children] - Content inside the hero.\n */\nexport interface HeroProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: HeroSize;\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n fullheightWithNavbar?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero component root.\n *\n * @function\n * @param {HeroProps} props - Props for the Hero component.\n * @returns {JSX.Element} The rendered hero.\n * @see {@link https://bulma.io/documentation/layout/hero/ | Bulma Hero documentation}\n */\nexport const Hero: React.FC<HeroProps> & {\n Head: typeof HeroHead;\n Body: typeof HeroBody;\n Foot: typeof HeroFoot;\n} = ({\n className,\n color,\n size,\n bgColor,\n fullheightWithNavbar,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color,\n backgroundColor: bgColor,\n ...props,\n });\n\n const heroClasses = classNames(\n 'hero',\n bulmaHelperClasses,\n className,\n color && `is-${color}`,\n size && size !== 'fullheight-with-navbar' && `is-${size}`,\n {\n 'is-fullheight-with-navbar':\n fullheightWithNavbar || size === 'fullheight-with-navbar',\n }\n );\n\n return (\n <section className={heroClasses} {...rest}>\n {children}\n </section>\n );\n};\n\n/**\n * Props for the HeroHead component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface HeroHeadProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero head section.\n */\nexport const HeroHead: React.FC<HeroHeadProps> = ({\n className,\n children,\n color,\n bgColor,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor ?? color,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <div\n className={classNames('hero-head', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the HeroBody component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface HeroBodyProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero body section.\n */\nexport const HeroBody: React.FC<HeroBodyProps> = ({\n className,\n children,\n color,\n bgColor,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor ?? color,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <div\n className={classNames('hero-body', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the HeroFoot component.\n *\n * @property {string} [className] - Additional CSS classes.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface HeroFootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n className?: string;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Hero foot section.\n */\nexport const HeroFoot: React.FC<HeroFootProps> = ({\n className,\n children,\n color,\n bgColor,\n textColor,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({\n color: textColor ?? color,\n backgroundColor: bgColor,\n ...props,\n });\n return (\n <div\n className={classNames('hero-foot', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n// Attach subcomponents\nHero.Head = HeroHead;\nHero.Body = HeroBody;\nHero.Foot = HeroFoot;\n\nexport default Hero;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Level component.\n *\n * @property {boolean} [isMobile] - Enable mobile mode.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Level content.\n */\nexport interface LevelProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n isMobile?: boolean;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Level component for horizontal layouts.\n *\n * @function\n * @param {LevelProps} props - Props for the Level component.\n * @returns {JSX.Element} The rendered level.\n * @see {@link https://bulma.io/documentation/layout/level/ | Bulma Level documentation}\n */\nexport const Level: React.FC<LevelProps> & {\n Left: typeof LevelLeft;\n Right: typeof LevelRight;\n Item: typeof LevelItem;\n} = ({ isMobile, className, children, ...props }) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <nav\n className={classNames('level', bulmaHelperClasses, className, {\n 'is-mobile': isMobile,\n })}\n {...rest}\n >\n {children}\n </nav>\n );\n};\n\n/**\n * Props for the LevelLeft component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface LevelLeftProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Level left section.\n */\nexport const LevelLeft: React.FC<LevelLeftProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('level-left', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the LevelRight component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface LevelRightProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Level right section.\n */\nexport const LevelRight: React.FC<LevelRightProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('level-right', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the LevelItem component.\n *\n * @property {'div'|'p'|'a'} [as] - Element type to render.\n * @property {boolean} [hasTextCentered] - Center the text in the item.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n * @property {string} [href] - Href for \"a\" tag.\n * @property {string} [target] - Target for \"a\" tag\n * @property {string} [rel] - Rel for \"a\" tag\n */\nexport interface LevelItemProps\n extends React.HTMLAttributes<\n HTMLDivElement | HTMLParagraphElement | HTMLAnchorElement\n >,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'div' | 'p' | 'a';\n hasTextCentered?: boolean;\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n href?: string;\n target?: string;\n rel?: string;\n}\n\n/**\n * Bulma Level item section.\n */\nexport const LevelItem: React.FC<LevelItemProps> = ({\n as = 'div',\n hasTextCentered,\n className,\n children,\n href,\n target,\n rel,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n\n // If rendering as \"a\", only pass anchor-specific props\n if (Tag === 'a') {\n return (\n <a\n className={classNames('level-item', bulmaHelperClasses, className, {\n 'has-text-centered': hasTextCentered,\n })}\n href={href}\n target={target}\n rel={rel}\n {...rest}\n >\n {children}\n </a>\n );\n }\n\n return (\n <Tag\n className={classNames('level-item', bulmaHelperClasses, className, {\n 'has-text-centered': hasTextCentered,\n })}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\nLevel.Left = LevelLeft;\nLevel.Right = LevelRight;\nLevel.Item = LevelItem;\n\nexport default Level;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Props for the Media component.\n *\n * @property {'article'|'div'} [as] - Element type to render.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'article' | 'div';\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media component root.\n *\n * @function\n * @param {MediaProps} props - Props for the Media component.\n * @returns {JSX.Element} The rendered media container.\n * @see {@link https://bulma.io/documentation/layout/media-object/ | Bulma Media documentation}\n */\nexport const Media: React.FC<MediaProps> & {\n Left: typeof MediaLeft;\n Content: typeof MediaContent;\n Right: typeof MediaRight;\n} = ({ as = 'article', className, children, ...props }) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n return (\n <Tag\n className={classNames('media', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\n/**\n * Props for the MediaLeft component.\n *\n * @property {'figure'|'div'} [as] - Element type to render.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaLeftProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n as?: 'figure' | 'div';\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media left section.\n */\nexport const MediaLeft: React.FC<MediaLeftProps> = ({\n as = 'figure',\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n const Tag = as;\n return (\n <Tag\n className={classNames('media-left', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\n/**\n * Props for the MediaContent component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaContentProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media content section.\n */\nexport const MediaContent: React.FC<MediaContentProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('media-content', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\n/**\n * Props for the MediaRight component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Content.\n */\nexport interface MediaRightProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Media right section.\n */\nexport const MediaRight: React.FC<MediaRightProps> = ({\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses(props);\n return (\n <div\n className={classNames('media-right', bulmaHelperClasses, className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\nMedia.Left = MediaLeft;\nMedia.Content = MediaContent;\nMedia.Right = MediaRight;\n\nexport default Media;\n","import React from 'react';\nimport classNames from '../helpers/classNames';\nimport {\n useBulmaClasses,\n BulmaClassesProps,\n validColors,\n} from '../helpers/useBulmaClasses';\n\n/**\n * Section size values for Bulma.\n */\ntype SectionSize = 'medium' | 'large';\n\n/**\n * Props for the Section component.\n *\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.\n * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.\n * @property {'medium'|'large'} [size] - Section size.\n * @property {string} [className] - Additional CSS classes.\n * @property {React.ReactNode} [children] - Section content.\n */\nexport interface SectionProps\n extends React.HTMLAttributes<HTMLElement>,\n Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {\n color?: (typeof validColors)[number] | 'inherit' | 'current';\n bgColor?: (typeof validColors)[number] | 'inherit' | 'current';\n textColor?: (typeof validColors)[number] | 'inherit' | 'current';\n size?: SectionSize;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Bulma Section component for general layout.\n *\n * @function\n * @param {SectionProps} props - Props for the Section component.\n * @returns {JSX.Element} The rendered section.\n * @see {@link https://bulma.io/documentation/layout/section/ | Bulma Section documentation}\n */\nexport const Section: React.FC<SectionProps> = ({\n size,\n className,\n children,\n ...props\n}) => {\n const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });\n\n const sectionClasses = classNames('section', className, bulmaHelperClasses, {\n [`is-${size}`]: size,\n });\n\n return (\n <section className={sectionClasses} {...rest}>\n {children}\n </section>\n );\n};\n"],"names":["React","require$$0","jsxRuntimeModule","require$$1","validSizes","validAlignments","useMemo","_jsx","_jsxs","useState","useRef","useEffect","createContext","useContext","_Fragment","forwardRef"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|