30 lines
731 B
JavaScript
30 lines
731 B
JavaScript
// components/Fieldset.js
|
|
import { $html } from "../sigpro.js";
|
|
import { val, ui } from "../core/utils.js";
|
|
|
|
/**
|
|
* Fieldset component
|
|
*
|
|
* daisyUI classes used:
|
|
* - fieldset, fieldset-legend
|
|
* - bg-base-200, border, border-base-300
|
|
* - p-4, rounded-lg, font-bold
|
|
*/
|
|
export const Fieldset = (props, children) => {
|
|
const { class: className, legend, ...rest } = props;
|
|
|
|
return $html(
|
|
"fieldset",
|
|
{
|
|
...rest,
|
|
class: ui('fieldset bg-base-200 border border-base-300 p-4 rounded-lg', className),
|
|
},
|
|
[
|
|
() => {
|
|
const legendText = val(legend);
|
|
return legendText ? $html("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null;
|
|
},
|
|
children,
|
|
],
|
|
);
|
|
}; |