@fuf-stack/uniform 0.19.2 → 0.20.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/CheckboxGroup/index.cjs +3 -3
- package/dist/CheckboxGroup/index.d.cts +4 -3
- package/dist/CheckboxGroup/index.d.ts +4 -3
- package/dist/CheckboxGroup/index.js +2 -2
- package/dist/CheckboxGroup-B_1mu8Xo.d.cts +280 -0
- package/dist/CheckboxGroup-B_1mu8Xo.d.ts +280 -0
- package/dist/FieldArray/index.cjs +3 -3
- package/dist/FieldArray/index.js +2 -2
- package/dist/Form/index.cjs +3 -3
- package/dist/Form/index.js +2 -2
- package/dist/Input/index.cjs +3 -3
- package/dist/Input/index.js +2 -2
- package/dist/RadioBoxes/index.cjs +3 -3
- package/dist/RadioBoxes/index.d.cts +2 -2
- package/dist/RadioBoxes/index.d.ts +2 -2
- package/dist/RadioBoxes/index.js +2 -2
- package/dist/RadioGroup/index.cjs +3 -3
- package/dist/RadioGroup/index.d.cts +2 -2
- package/dist/RadioGroup/index.d.ts +2 -2
- package/dist/RadioGroup/index.js +2 -2
- package/dist/RadioTabs/index.cjs +3 -3
- package/dist/RadioTabs/index.js +2 -2
- package/dist/Select/index.cjs +3 -3
- package/dist/Select/index.js +2 -2
- package/dist/SubmitButton/index.cjs +3 -3
- package/dist/SubmitButton/index.js +2 -2
- package/dist/Switch/index.cjs +3 -3
- package/dist/Switch/index.js +2 -2
- package/dist/TextArea/index.cjs +3 -3
- package/dist/TextArea/index.js +2 -2
- package/dist/{chunk-SBG7475Z.cjs → chunk-3ISETOB3.cjs} +7 -7
- package/dist/{chunk-SBG7475Z.cjs.map → chunk-3ISETOB3.cjs.map} +1 -1
- package/dist/{chunk-2IL3UHR7.js → chunk-3PAVDSMW.js} +2 -2
- package/dist/{chunk-M7PXVLRV.js → chunk-43R3EVIW.js} +2 -2
- package/dist/{chunk-SDCBEO3Z.js → chunk-4WVYRJCV.js} +2 -2
- package/dist/{chunk-N4W3T5L4.js → chunk-5R7ZPSN2.js} +21 -20
- package/dist/chunk-5R7ZPSN2.js.map +1 -0
- package/dist/{chunk-JUBLFDHD.cjs → chunk-BDJHUA55.cjs} +4 -4
- package/dist/{chunk-JUBLFDHD.cjs.map → chunk-BDJHUA55.cjs.map} +1 -1
- package/dist/{chunk-DUKB4I5Y.js → chunk-BPZ3U5RV.js} +2 -2
- package/dist/{chunk-WFCF4VBT.cjs → chunk-CUDJVXZX.cjs} +4 -4
- package/dist/{chunk-WFCF4VBT.cjs.map → chunk-CUDJVXZX.cjs.map} +1 -1
- package/dist/{chunk-7HRCMWQ5.cjs → chunk-EHTJ2BYB.cjs} +5 -5
- package/dist/{chunk-7HRCMWQ5.cjs.map → chunk-EHTJ2BYB.cjs.map} +1 -1
- package/dist/{chunk-GJ74WGKZ.cjs → chunk-F4VYFBYC.cjs} +21 -20
- package/dist/chunk-F4VYFBYC.cjs.map +1 -0
- package/dist/{chunk-TO4JYPOE.js → chunk-FA74PMQ3.js} +2 -2
- package/dist/{chunk-RDQ4GVIH.js → chunk-FJTWQ6UG.js} +2 -2
- package/dist/{chunk-W64FOCYJ.cjs → chunk-IYR5A3CV.cjs} +4 -4
- package/dist/{chunk-W64FOCYJ.cjs.map → chunk-IYR5A3CV.cjs.map} +1 -1
- package/dist/{chunk-UVESDHEA.cjs → chunk-JWYMBKE6.cjs} +4 -4
- package/dist/{chunk-UVESDHEA.cjs.map → chunk-JWYMBKE6.cjs.map} +1 -1
- package/dist/{chunk-XQ7B7IPP.js → chunk-LBFJL6IA.js} +2 -2
- package/dist/{chunk-HRBPBA2B.js → chunk-LX775YU7.js} +2 -2
- package/dist/{chunk-XSB5HTZ5.js → chunk-M7CZ526K.js} +2 -2
- package/dist/{chunk-NGGOXV7C.cjs → chunk-NVSZYURK.cjs} +55 -26
- package/dist/chunk-NVSZYURK.cjs.map +1 -0
- package/dist/{chunk-AKICJ7ZX.js → chunk-OLPDYX6B.js} +55 -26
- package/dist/chunk-OLPDYX6B.js.map +1 -0
- package/dist/{chunk-IVQACL3C.cjs → chunk-Q5KXDJU7.cjs} +3 -3
- package/dist/{chunk-IVQACL3C.cjs.map → chunk-Q5KXDJU7.cjs.map} +1 -1
- package/dist/{chunk-TQ2SFNNI.cjs → chunk-RKZQKPRJ.cjs} +4 -4
- package/dist/{chunk-TQ2SFNNI.cjs.map → chunk-RKZQKPRJ.cjs.map} +1 -1
- package/dist/{chunk-WO6KRXQP.cjs → chunk-Y33HTDL6.cjs} +4 -4
- package/dist/{chunk-WO6KRXQP.cjs.map → chunk-Y33HTDL6.cjs.map} +1 -1
- package/dist/{chunk-BL6OD6F2.cjs → chunk-YLJC74CQ.cjs} +4 -4
- package/dist/{chunk-BL6OD6F2.cjs.map → chunk-YLJC74CQ.cjs.map} +1 -1
- package/dist/{chunk-JC6MRULQ.js → chunk-YNX7IORC.js} +2 -2
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +13 -13
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +12 -12
- package/package.json +5 -5
- package/dist/CheckboxGroup-Dh0YW4KV.d.cts +0 -132
- package/dist/CheckboxGroup-Dh0YW4KV.d.ts +0 -132
- package/dist/chunk-AKICJ7ZX.js.map +0 -1
- package/dist/chunk-GJ74WGKZ.cjs.map +0 -1
- package/dist/chunk-N4W3T5L4.js.map +0 -1
- package/dist/chunk-NGGOXV7C.cjs.map +0 -1
- package/dist/{RadioBoxes-C61IRDCU.d.cts → RadioBoxes-BmJBBZVd.d.cts} +15 -15
- package/dist/{RadioBoxes-C61IRDCU.d.ts → RadioBoxes-BmJBBZVd.d.ts} +15 -15
- package/dist/{RadioGroup-C7I27oav.d.cts → RadioGroup-BJijfixt.d.cts} +15 -15
- package/dist/{RadioGroup-C7I27oav.d.ts → RadioGroup-BJijfixt.d.ts} +15 -15
- /package/dist/{chunk-2IL3UHR7.js.map → chunk-3PAVDSMW.js.map} +0 -0
- /package/dist/{chunk-M7PXVLRV.js.map → chunk-43R3EVIW.js.map} +0 -0
- /package/dist/{chunk-SDCBEO3Z.js.map → chunk-4WVYRJCV.js.map} +0 -0
- /package/dist/{chunk-DUKB4I5Y.js.map → chunk-BPZ3U5RV.js.map} +0 -0
- /package/dist/{chunk-TO4JYPOE.js.map → chunk-FA74PMQ3.js.map} +0 -0
- /package/dist/{chunk-RDQ4GVIH.js.map → chunk-FJTWQ6UG.js.map} +0 -0
- /package/dist/{chunk-XQ7B7IPP.js.map → chunk-LBFJL6IA.js.map} +0 -0
- /package/dist/{chunk-HRBPBA2B.js.map → chunk-LX775YU7.js.map} +0 -0
- /package/dist/{chunk-XSB5HTZ5.js.map → chunk-M7CZ526K.js.map} +0 -0
- /package/dist/{chunk-JC6MRULQ.js.map → chunk-YNX7IORC.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-BL6OD6F2.cjs","../src/RadioBoxes/RadioBoxes.tsx","../src/RadioBoxes/RadioBox.tsx","../src/RadioBoxes/index.ts"],"names":["jsx","jsxs","RadioBoxes_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACbA,sCAA6C;AAE7C,oDAAkD;ADclD;AACA;AEjBA;AACA,6DAA+B;AAE/B;AAmCQ,+CAAA;AA5BD,IAAM,SAAA,EAAW,CAAC,EAAA,EAAA,GAA+C;AAA/C,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,KAAA,EAAO,KAAA,EAblC,EAAA,EAayB,EAAA,EAAuB,MAAA,EAAA,yCAAA,EAAvB,EAAuB,CAArB,MAAA,CAAA,CAAA;AACzB,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,oBAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,EACF,EAAA,EAAI,6BAAA,KAAc,CAAA;AAElB,EAAA,uBACE,8BAAA;AAAA,IAAC,SAAA;AAAA,IAAA,6CAAA,8CAAA,CAAA,CAAA,EAEK,YAAA,CAAa,CAAA,CAAA,EAFlB;AAAA,MAGC,SAAA,EAAW,4BAAA;AAAA,QACT,0KAAA;AAAA,QACA;AAAA;AAAA,UAEE,sCAAA,EAAwC;AAAA,QAC1C;AAAA,MACF,CAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,6BAAA,8BAAC,EAAA,EAEC,QAAA,kBAAA,6BAAA,OAAC,EAAA,8CAAA,CAAA,CAAA,EAAU,aAAA,CAAc,CAAA,CAAG,EAAA,CAC9B,CAAA;AAAA,wBAEA,6BAAA,MAAC,EAAA,6CAAA,8CAAA,CAAA,CAAA,EAAS,eAAA,CAAgB,CAAA,CAAA,EAAzB,EAEC,QAAA,kBAAA,6BAAA,MAAC,EAAA,8CAAA,CAAA,CAAA,EAAS,eAAA,CAAgB,CAAA,CAAG,EAAA,CAAA,CAC/B,CAAA;AAAA,QACC,IAAA;AAAA,wBACD,8BAAA;AAAA,UAAC,KAAA;AAAA,UAAA,6CAAA,8CAAA,CAAA,CAAA,EAEK,oBAAA,CAAqB,CAAA,CAAA,EAF1B;AAAA,YAGC,SAAA,EAAW,4BAAA,oBAAG,CAAqB,CAAA,CAAE,SAAA,EAAW,MAAM,CAAA;AAAA,YAGrD,QAAA,EAAA;AAAA,cAAA,SAAA,mBAAY,6BAAA,MAAC,EAAA,6CAAA,8CAAA,CAAA,CAAA,EAAS,aAAA,CAAc,CAAA,CAAA,EAAvB,EAA2B,SAAA,CAAA,CAAS,CAAA;AAAA,cACjD,YAAA,mBACC,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,uCAAA,EACb,QAAA,EAAA,YAAA,CACH;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AFGA;AACA;ACyCiB;AAjGV,IAAM,mBAAA,EAAqB,4BAAA;AAAG,EACnC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,OAAA;AAAA;AAAA,IACN,QAAA,EAAU,EAAA;AAAA,IACV,WAAA,EAAa,8CAAA;AAAA,IACb,eAAA,EAAiB,EAAA;AAAA,IACjB,SAAA,EAAW,SAAA;AAAA,IACX,gBAAA,EAAkB,EAAA;AAAA,IAClB,WAAA,EACE,+HAAA;AAAA;AAAA;AAAA;AAAA,IAGF,KAAA,EACE,oFAAA;AAAA,IACF,OAAA,EAAS;AAAA,EACX;AACF,CAAC,CAAA;AAwCD,IAAM,WAAA,EAAa,CAAC;AAAA,EAClB,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,SAAA,EAAW,KAAA;AAAA,EACX,OAAA,EAAS,KAAA;AAAA,EACT,MAAA,EAAQ,KAAA,CAAA;AAAA,EACR,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA,EAAQ,QAAA,EAAU,KAAA;AACpB,CAAA,EAAA,GAAqC;AACnC,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,aAAA,EAAe,UAAU,EAAA,EAAI,8CAAA,CAAe;AAExE,EAAA,MAAM,EAAE,KAAA,EAAO,OAAA,EAAS,QAAA,EAAU,OAAO,EAAA,EAAI,aAAA,CAAc,IAAA,EAAM,OAAO,CAAA;AAExE,EAAA,MAAM,EAAE,MAAM,EAAA,EAAI,6CAAA,EAAgB,OAAA,EAAS,QAAA,EAAU,KAAK,CAAC,CAAA;AAC3D,EAAA,MAAM,EAAE,QAAA,EAAU,QAAA,EAAU,UAAA,EAAY,MAAA,EAAQ,IAAI,EAAA,EAAI,KAAA;AAExD,EAAA,MAAM,qBAAA,EAAuB,UAAA,IAAc,eAAA;AAC3C,EAAA,MAAM,UAAA,EAAY,MAAA,GAAS,oBAAA;AAE3B,EAAA,MAAM,SAAA,EAAW,kBAAA,CAAmB,CAAA;AACpC,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,SAAA,EAAW,MAAM,CAAA;AAEnE,EAAA,MAAM,eAAA,EAAiB;AAAA,IACrB,IAAA,EAAM,UAAA,CAAW,QAAA;AAAA,IACjB,OAAA,EAAS,UAAA,CAAW,WAAA;AAAA,IACpB,WAAA,EAAa,UAAA,CAAW,eAAA;AAAA,IACxB,KAAA,EAAO,UAAA,CAAW,SAAA;AAAA,IAClB,YAAA,EAAc,UAAA,CAAW,gBAAA;AAAA,IACzB,OAAA,EAAS,UAAA,CAAW;AAAA,EACtB,CAAA;AAEA,EAAA,uBACEA,6BAAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MAGA,cAAA,EAAc,OAAA;AAAA,MACd,eAAA,EAAe,QAAA;AAAA,MACf,aAAA,EAAa,MAAA;AAAA,MACb,YAAA,EAAc,SAAA,CAAU,CAAA,CAAE,IAAI,CAAA;AAAA,MAC9B,YAAA,EACE,MAAA,mBAASA,6BAAAA,8CAAC,EAAA,EAAqB,KAAA,EAAc,OAAA,CAAgB,CAAA;AAAA,MAE/D,UAAA;AAAA,MACA,SAAA,EAAW,OAAA;AAAA,MACX,UAAA,EAAY,QAAA;AAAA,MACZ,KAAA,EACE,UAAA;AAAA,sBAEEC,8BAAAA,OAAC,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,KAAA;AAAA,QACA,qBAAA,mBAAwBD,6BAAAA,+CAAC,EAAA,EAAsB,OAAA,CAAgB;AAAA,MAAA,EAAA,CAClE,CAAA;AAAA,MAGJ,IAAA;AAAA,MACA,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,UAAA;AAAA,MACrC,MAAA;AAAA,MACA,GAAA;AAAA,MAEC,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,EAAA,GAAW;AACvB,QAAA,GAAA,CAAI,QAAA,GAAW,MAAA,EAAQ;AACrB,UAAA,uBACEA,6BAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,UAAA,EAAY,cAAA;AAAA,cACZ,aAAA,EAAa,iCAAA;AAAA,gBACX,CAAA,EAAA;AACF,cAAA;AACA,cAAA;AACA,cAAA;AACA,cAAA;AAEA,cAAA;AACA,cAAA;AAEC,cAAA;AAAqC,YAAA;AAJjC,YAAA;AAKP,UAAA;AAEJ,QAAA;AACO,QAAA;AACR,MAAA;AAAA,IAAA;AACH,EAAA;AAEJ;AAEO;ADKU;AACA;AGzJVE;AH2JU;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-BL6OD6F2.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactElement, ReactNode } from 'react';\n\nimport { RadioGroup as HeroRadioGroup } from '@heroui/radio';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\nimport { RadioBox } from './RadioBox';\n\nexport const radioBoxesVariants = tv({\n slots: {\n base: 'group', // Needs group for group-data condition\n itemBase: '',\n itemControl: 'bg-focus group-data-[invalid=true]:bg-danger',\n itemDescription: '',\n itemLabel: 'text-sm',\n itemLabelWrapper: '',\n itemWrapper:\n 'group-data-[invalid=true]:!border-danger [&:not(group-data-[invalid=\"true\"]):not(group-data-[selected=\"false\"])]:border-focus', // TODO: get rid of !.\n // see HeroUI styles for group-data condition,\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts\n label:\n 'text-sm text-foreground subpixel-antialiased group-data-[invalid=true]:text-danger',\n wrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof radioBoxesVariants>;\ntype ClassName = TVClassName<typeof radioBoxesVariants>;\n\nexport interface RadioBoxesOption {\n /** Description of the value. Works with variant radioBox. */\n description?: ReactNode;\n /** disables the option */\n disabled?: boolean;\n /** option label */\n label?: ReactNode;\n /** option icon */\n icon?: ReactNode;\n /** HTML data-testid attribute of the option */\n testId?: string;\n /** option value */\n value: string;\n}\n\nexport interface RadioBoxesProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** Determines if the Buttons are disabled or not. */\n disabled?: boolean;\n /** determines orientation of the Buttons. */\n inline?: boolean;\n /** Label displayed next to the RadioButton. */\n label?: ReactNode;\n /** Name the RadioButtons are registered at in HTML forms (react-hook-form). */\n name: string;\n /** Radio button configuration. */\n options: RadioBoxesOption[];\n /** Id to grab element in internal tests. */\n testId?: string;\n}\n\n/**\n * RadioBoxes component based on [HeroUI RadioGroup](https://www.heroui.com//docs/components/radio-group)\n */\nconst RadioBoxes = ({\n className = undefined,\n disabled = false,\n inline = false,\n label = undefined,\n name,\n options,\n testId: _testId = undefined,\n}: RadioBoxesProps): ReactElement => {\n const { control, debugMode, getFieldState, getValues } = useFormContext();\n\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({ control, disabled, name });\n const { onChange, disabled: isDisabled, onBlur, ref } = field;\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n const variants = radioBoxesVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n const itemClassNames = {\n base: classNames.itemBase,\n control: classNames.itemControl,\n description: classNames.itemDescription,\n label: classNames.itemLabel,\n labelWrapper: classNames.itemLabelWrapper,\n wrapper: classNames.itemWrapper,\n };\n\n return (\n <HeroRadioGroup\n classNames={classNames}\n // see HeroUI styles for group-data condition (data-invalid),\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/components/select/src/use-select.ts\n data-invalid={invalid}\n data-required={required}\n data-testid={testId}\n defaultValue={getValues()[name]}\n errorMessage={\n error && <FieldValidationError error={error} testId={testId} />\n }\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n label={\n showLabel && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </label>\n )\n }\n name={name}\n orientation={inline ? 'horizontal' : 'vertical'}\n onBlur={onBlur}\n ref={ref}\n >\n {options.map((option) => {\n if ('value' in option) {\n return (\n <RadioBox\n classNames={itemClassNames}\n data-testid={slugify(\n `${testId}_option_${option.testId || option.value}`,\n )}\n description={option.description}\n icon={option.icon}\n isDisabled={isDisabled || option.disabled}\n key={option.value}\n onChange={onChange}\n value={option.value}\n >\n {option.label ? option.label : option.value}\n </RadioBox>\n );\n }\n return null;\n })}\n </HeroRadioGroup>\n );\n};\n\nexport default RadioBoxes;\n","import type { RadioProps as HeroRadioProps } from '@heroui/radio';\nimport type { ReactNode } from 'react';\n\nimport { useRadio } from '@heroui/radio';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\ninterface RadioProps extends HeroRadioProps {\n /** icon for the option */\n icon?: ReactNode;\n}\n\nexport const RadioBox = ({ icon = undefined, ...props }: RadioProps) => {\n const {\n children,\n Component,\n description,\n getBaseProps,\n getControlProps,\n getInputProps,\n getLabelProps,\n getLabelWrapperProps,\n getWrapperProps,\n isDisabled,\n } = useRadio(props);\n\n return (\n <Component\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getBaseProps()}\n className={cn(\n 'group inline-flex flex-auto cursor-pointer items-center justify-between gap-4 rounded-lg border-2 border-default p-4 hover:bg-content2 data-[selected=true]:border-focus',\n {\n // disabled styles\n 'pointer-events-none opacity-disabled': isDisabled,\n },\n )}\n >\n <VisuallyHidden>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <input {...getInputProps()} />\n </VisuallyHidden>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <span {...getWrapperProps()}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <span {...getControlProps()} />\n </span>\n {icon}\n <div\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getLabelWrapperProps()}\n className={cn(getLabelWrapperProps().className, 'grow')}\n >\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n {children && <span {...getLabelProps()}>{children}</span>}\n {description && (\n <span className=\"text-small text-foreground opacity-70\">\n {description}\n </span>\n )}\n </div>\n </Component>\n );\n};\n\nexport default RadioBox;\n","import RadioBoxes from './RadioBoxes';\n\nexport type { RadioBoxesProps } from './RadioBoxes';\n\nexport { RadioBoxes };\n\nexport default RadioBoxes;\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-YLJC74CQ.cjs","../src/RadioBoxes/RadioBoxes.tsx","../src/RadioBoxes/RadioBox.tsx","../src/RadioBoxes/index.ts"],"names":["jsx","jsxs","RadioBoxes_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-YLJC74CQ.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactElement, ReactNode } from 'react';\n\nimport { RadioGroup as HeroRadioGroup } from '@heroui/radio';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\nimport { RadioBox } from './RadioBox';\n\nexport const radioBoxesVariants = tv({\n slots: {\n base: 'group', // Needs group for group-data condition\n itemBase: '',\n itemControl: 'bg-focus group-data-[invalid=true]:bg-danger',\n itemDescription: '',\n itemLabel: 'text-sm',\n itemLabelWrapper: '',\n itemWrapper:\n 'group-data-[invalid=true]:!border-danger [&:not(group-data-[invalid=\"true\"]):not(group-data-[selected=\"false\"])]:border-focus', // TODO: get rid of !.\n // see HeroUI styles for group-data condition,\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts\n label:\n 'text-sm text-foreground subpixel-antialiased group-data-[invalid=true]:text-danger',\n wrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof radioBoxesVariants>;\ntype ClassName = TVClassName<typeof radioBoxesVariants>;\n\nexport interface RadioBoxesOption {\n /** Description of the value. Works with variant radioBox. */\n description?: ReactNode;\n /** disables the option */\n disabled?: boolean;\n /** option label */\n label?: ReactNode;\n /** option icon */\n icon?: ReactNode;\n /** HTML data-testid attribute of the option */\n testId?: string;\n /** option value */\n value: string;\n}\n\nexport interface RadioBoxesProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** Determines if the Buttons are disabled or not. */\n disabled?: boolean;\n /** determines orientation of the Buttons. */\n inline?: boolean;\n /** Label displayed next to the RadioButton. */\n label?: ReactNode;\n /** Name the RadioButtons are registered at in HTML forms (react-hook-form). */\n name: string;\n /** Radio button configuration. */\n options: RadioBoxesOption[];\n /** Id to grab element in internal tests. */\n testId?: string;\n}\n\n/**\n * RadioBoxes component based on [HeroUI RadioGroup](https://www.heroui.com//docs/components/radio-group)\n */\nconst RadioBoxes = ({\n className = undefined,\n disabled = false,\n inline = false,\n label = undefined,\n name,\n options,\n testId: _testId = undefined,\n}: RadioBoxesProps): ReactElement => {\n const { control, debugMode, getFieldState, getValues } = useFormContext();\n\n const { error, invalid, required, testId } = getFieldState(name, _testId);\n\n const { field } = useController({ control, disabled, name });\n const { onChange, disabled: isDisabled, onBlur, ref } = field;\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n const variants = radioBoxesVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n const itemClassNames = {\n base: classNames.itemBase,\n control: classNames.itemControl,\n description: classNames.itemDescription,\n label: classNames.itemLabel,\n labelWrapper: classNames.itemLabelWrapper,\n wrapper: classNames.itemWrapper,\n };\n\n return (\n <HeroRadioGroup\n classNames={classNames}\n // see HeroUI styles for group-data condition (data-invalid),\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/components/select/src/use-select.ts\n data-invalid={invalid}\n data-required={required}\n data-testid={testId}\n defaultValue={getValues()[name]}\n errorMessage={\n error && <FieldValidationError error={error} testId={testId} />\n }\n isDisabled={isDisabled}\n isInvalid={invalid}\n isRequired={required}\n label={\n showLabel && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </label>\n )\n }\n name={name}\n orientation={inline ? 'horizontal' : 'vertical'}\n onBlur={onBlur}\n ref={ref}\n >\n {options.map((option) => {\n if ('value' in option) {\n return (\n <RadioBox\n classNames={itemClassNames}\n data-testid={slugify(\n `${testId}_option_${option.testId || option.value}`,\n )}\n description={option.description}\n icon={option.icon}\n isDisabled={isDisabled || option.disabled}\n key={option.value}\n onChange={onChange}\n value={option.value}\n >\n {option.label ? option.label : option.value}\n </RadioBox>\n );\n }\n return null;\n })}\n </HeroRadioGroup>\n );\n};\n\nexport default RadioBoxes;\n","import type { RadioProps as HeroRadioProps } from '@heroui/radio';\nimport type { ReactNode } from 'react';\n\nimport { useRadio } from '@heroui/radio';\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\ninterface RadioProps extends HeroRadioProps {\n /** icon for the option */\n icon?: ReactNode;\n}\n\nexport const RadioBox = ({ icon = undefined, ...props }: RadioProps) => {\n const {\n children,\n Component,\n description,\n getBaseProps,\n getControlProps,\n getInputProps,\n getLabelProps,\n getLabelWrapperProps,\n getWrapperProps,\n isDisabled,\n } = useRadio(props);\n\n return (\n <Component\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getBaseProps()}\n className={cn(\n 'group inline-flex flex-auto cursor-pointer items-center justify-between gap-4 rounded-lg border-2 border-default p-4 hover:bg-content2 data-[selected=true]:border-focus',\n {\n // disabled styles\n 'pointer-events-none opacity-disabled': isDisabled,\n },\n )}\n >\n <VisuallyHidden>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <input {...getInputProps()} />\n </VisuallyHidden>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <span {...getWrapperProps()}>\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n <span {...getControlProps()} />\n </span>\n {icon}\n <div\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...getLabelWrapperProps()}\n className={cn(getLabelWrapperProps().className, 'grow')}\n >\n {/* eslint-disable-next-line react/jsx-props-no-spreading */}\n {children && <span {...getLabelProps()}>{children}</span>}\n {description && (\n <span className=\"text-small text-foreground opacity-70\">\n {description}\n </span>\n )}\n </div>\n </Component>\n );\n};\n\nexport default RadioBox;\n","import RadioBoxes from './RadioBoxes';\n\nexport type { RadioBoxesProps } from './RadioBoxes';\n\nexport { RadioBoxes };\n\nexport default RadioBoxes;\n"]}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
useController,
|
|
9
9
|
useFormContext
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5R7ZPSN2.js";
|
|
11
11
|
|
|
12
12
|
// src/RadioGroup/RadioGroup.tsx
|
|
13
13
|
import { RadioGroup as HeroRadioGroup, Radio } from "@heroui/radio";
|
|
@@ -107,4 +107,4 @@ export {
|
|
|
107
107
|
RadioGroup_default,
|
|
108
108
|
RadioGroup_default2
|
|
109
109
|
};
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-YNX7IORC.js.map
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkF4VYFBYCcjs = require('../chunk-F4VYFBYC.cjs');
|
|
9
9
|
require('../chunk-CESGUF6F.cjs');
|
|
10
10
|
require('../chunk-555JRYCS.cjs');
|
|
11
11
|
|
|
@@ -15,5 +15,5 @@ require('../chunk-555JRYCS.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
exports.checkFieldIsRequired =
|
|
18
|
+
exports.checkFieldIsRequired = _chunkF4VYFBYCcjs.checkFieldIsRequired; exports.useClientValidation = _chunkF4VYFBYCcjs.useClientValidation; exports.useController = _chunkF4VYFBYCcjs.useController; exports.useFieldArray = _chunkF4VYFBYCcjs.useFieldArray; exports.useFormContext = _chunkF4VYFBYCcjs.useFormContext; exports.useInput = _chunkF4VYFBYCcjs.useInput;
|
|
19
19
|
//# sourceMappingURL=index.cjs.map
|
package/dist/hooks/index.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkY33HTDL6cjs = require('./chunk-Y33HTDL6.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkRKZQKPRJcjs = require('./chunk-RKZQKPRJ.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkQ5KXDJU7cjs = require('./chunk-Q5KXDJU7.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkEHTJ2BYBcjs = require('./chunk-EHTJ2BYB.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkJWYMBKE6cjs = require('./chunk-JWYMBKE6.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkNVSZYURKcjs = require('./chunk-NVSZYURK.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunk3ISETOB3cjs = require('./chunk-3ISETOB3.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkIYR5A3CVcjs = require('./chunk-IYR5A3CV.cjs');
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
var _chunk6GN255GPcjs = require('./chunk-6GN255GP.cjs');
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunkBDJHUA55cjs = require('./chunk-BDJHUA55.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _chunkYLJC74CQcjs = require('./chunk-YLJC74CQ.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _chunkCUDJVXZXcjs = require('./chunk-CUDJVXZX.cjs');
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
var _chunkGNYQC5IJcjs = require('./chunk-GNYQC5IJ.cjs');
|
|
@@ -47,7 +47,7 @@ var _chunkPA2DQCBYcjs = require('./chunk-PA2DQCBY.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkF4VYFBYCcjs = require('./chunk-F4VYFBYC.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
@@ -80,5 +80,5 @@ require('./chunk-555JRYCS.cjs');
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
|
|
83
|
-
exports.CheckboxGroup =
|
|
83
|
+
exports.CheckboxGroup = _chunkNVSZYURKcjs.CheckboxGroup_default; exports.FieldArray = _chunk3ISETOB3cjs.FieldArray_default; exports.FieldCopyTestIdButton = _chunkPA2DQCBYcjs.FieldCopyTestIdButton_default; exports.FieldValidationError = _chunkGNYQC5IJcjs.FieldValidationError_default; exports.Form = _chunkIYR5A3CVcjs.Form_default; exports.Grid = _chunk6GN255GPcjs.Grid_default; exports.Input = _chunkBDJHUA55cjs.Input_default; exports.RadioBoxes = _chunkYLJC74CQcjs.RadioBoxes_default; exports.RadioGroup = _chunkCUDJVXZXcjs.RadioGroup_default; exports.RadioTabs = _chunkY33HTDL6cjs.RadioTabs_default; exports.Select = _chunkRKZQKPRJcjs.Select_default; exports.SubmitButton = _chunkQ5KXDJU7cjs.SubmitButton_default; exports.Switch = _chunkEHTJ2BYBcjs.Switch_default; exports.TextArea = _chunkJWYMBKE6cjs.TextArea_default; exports.checkFieldIsRequired = _chunkF4VYFBYCcjs.checkFieldIsRequired; exports.fromNullishString = _chunkCESGUF6Fcjs.fromNullishString; exports.toFormFormat = _chunkCESGUF6Fcjs.toFormFormat; exports.toNullishString = _chunkCESGUF6Fcjs.toNullishString; exports.toValidationFormat = _chunkCESGUF6Fcjs.toValidationFormat; exports.useClientValidation = _chunkF4VYFBYCcjs.useClientValidation; exports.useController = _chunkF4VYFBYCcjs.useController; exports.useFieldArray = _chunkF4VYFBYCcjs.useFieldArray; exports.useFormContext = _chunkF4VYFBYCcjs.useFormContext; exports.useInput = _chunkF4VYFBYCcjs.useInput;
|
|
84
84
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { C as CheckboxGroup, b as CheckboxGroupOption, a as CheckboxGroupProps } from './CheckboxGroup-
|
|
1
|
+
export { C as CheckboxGroup, b as CheckboxGroupOption, a as CheckboxGroupProps } from './CheckboxGroup-B_1mu8Xo.cjs';
|
|
2
2
|
export { F as FieldArray, a as FieldArrayChildrenRenderFn, b as FieldArrayFeatures, c as FieldArrayProps } from './FieldArray-hqxjr18x.cjs';
|
|
3
3
|
export { F as Form, a as FormProps } from './Form-D0grgL6G.cjs';
|
|
4
4
|
export { G as Grid, a as GridProps } from './Grid-DF3L9NF3.cjs';
|
|
@@ -9,16 +9,16 @@ export { useInput } from '@heroui/input';
|
|
|
9
9
|
export { I as Input, a as InputProps } from './Input-B_wjhY9e.cjs';
|
|
10
10
|
export { F as FieldCopyTestIdButton, a as FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton-_TDlmw0L.cjs';
|
|
11
11
|
export { F as FieldValidationError, a as FieldValidationErrorProps } from './FieldValidationError-CU_xw0BL.cjs';
|
|
12
|
-
export { R as RadioBoxes, a as RadioBoxesProps } from './RadioBoxes-
|
|
13
|
-
export { R as RadioGroup, a as RadioGroupProps } from './RadioGroup-
|
|
12
|
+
export { R as RadioBoxes, a as RadioBoxesProps } from './RadioBoxes-BmJBBZVd.cjs';
|
|
13
|
+
export { R as RadioGroup, a as RadioGroupProps } from './RadioGroup-BJijfixt.cjs';
|
|
14
14
|
export { R as RadioTabs, a as RadioTabsProps } from './RadioTabs-CT8PT7ky.cjs';
|
|
15
15
|
export { S as Select, a as SelectProps } from './Select-JRwrSDew.cjs';
|
|
16
16
|
export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-C81VCkmx.cjs';
|
|
17
17
|
export { S as Switch, a as SwitchProps } from './Switch-CLs964dL.cjs';
|
|
18
18
|
export { T as TextArea, a as TextAreaProps } from './TextArea-DNpInDsW.cjs';
|
|
19
19
|
import 'react/jsx-runtime';
|
|
20
|
-
import 'tailwind-variants/dist/config.js';
|
|
21
20
|
import 'tailwind-variants';
|
|
21
|
+
import 'tailwind-variants/dist/config.js';
|
|
22
22
|
import '@fuf-stack/pixel-utils';
|
|
23
23
|
import 'react';
|
|
24
24
|
import '@fuf-stack/veto';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { C as CheckboxGroup, b as CheckboxGroupOption, a as CheckboxGroupProps } from './CheckboxGroup-
|
|
1
|
+
export { C as CheckboxGroup, b as CheckboxGroupOption, a as CheckboxGroupProps } from './CheckboxGroup-B_1mu8Xo.js';
|
|
2
2
|
export { F as FieldArray, a as FieldArrayChildrenRenderFn, b as FieldArrayFeatures, c as FieldArrayProps } from './FieldArray-hqxjr18x.js';
|
|
3
3
|
export { F as Form, a as FormProps } from './Form-DX5NTR-H.js';
|
|
4
4
|
export { G as Grid, a as GridProps } from './Grid-DF3L9NF3.js';
|
|
@@ -9,16 +9,16 @@ export { useInput } from '@heroui/input';
|
|
|
9
9
|
export { I as Input, a as InputProps } from './Input-B_wjhY9e.js';
|
|
10
10
|
export { F as FieldCopyTestIdButton, a as FieldCopyTestIdButtonProps } from './FieldCopyTestIdButton-_TDlmw0L.js';
|
|
11
11
|
export { F as FieldValidationError, a as FieldValidationErrorProps } from './FieldValidationError-CU_xw0BL.js';
|
|
12
|
-
export { R as RadioBoxes, a as RadioBoxesProps } from './RadioBoxes-
|
|
13
|
-
export { R as RadioGroup, a as RadioGroupProps } from './RadioGroup-
|
|
12
|
+
export { R as RadioBoxes, a as RadioBoxesProps } from './RadioBoxes-BmJBBZVd.js';
|
|
13
|
+
export { R as RadioGroup, a as RadioGroupProps } from './RadioGroup-BJijfixt.js';
|
|
14
14
|
export { R as RadioTabs, a as RadioTabsProps } from './RadioTabs-CT8PT7ky.js';
|
|
15
15
|
export { S as Select, a as SelectProps } from './Select-JRwrSDew.js';
|
|
16
16
|
export { S as SubmitButton, a as SubmitButtonProps } from './SubmitButton-C81VCkmx.js';
|
|
17
17
|
export { S as Switch, a as SwitchProps } from './Switch-CLs964dL.js';
|
|
18
18
|
export { T as TextArea, a as TextAreaProps } from './TextArea-DNpInDsW.js';
|
|
19
19
|
import 'react/jsx-runtime';
|
|
20
|
-
import 'tailwind-variants/dist/config.js';
|
|
21
20
|
import 'tailwind-variants';
|
|
21
|
+
import 'tailwind-variants/dist/config.js';
|
|
22
22
|
import '@fuf-stack/pixel-utils';
|
|
23
23
|
import 'react';
|
|
24
24
|
import '@fuf-stack/veto';
|
package/dist/index.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RadioTabs_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4WVYRJCV.js";
|
|
4
4
|
import {
|
|
5
5
|
Select_default
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FJTWQ6UG.js";
|
|
7
7
|
import {
|
|
8
8
|
SubmitButton_default
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-M7CZ526K.js";
|
|
10
10
|
import {
|
|
11
11
|
Switch_default
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3PAVDSMW.js";
|
|
13
13
|
import {
|
|
14
14
|
TextArea_default
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-43R3EVIW.js";
|
|
16
16
|
import {
|
|
17
17
|
CheckboxGroup_default
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-OLPDYX6B.js";
|
|
19
19
|
import {
|
|
20
20
|
FieldArray_default
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-LX775YU7.js";
|
|
22
22
|
import {
|
|
23
23
|
Form_default
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-BPZ3U5RV.js";
|
|
25
25
|
import {
|
|
26
26
|
Grid_default
|
|
27
27
|
} from "./chunk-PDCEKC3G.js";
|
|
28
28
|
import {
|
|
29
29
|
Input_default
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-FA74PMQ3.js";
|
|
31
31
|
import {
|
|
32
32
|
RadioBoxes_default
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-LBFJL6IA.js";
|
|
34
34
|
import {
|
|
35
35
|
RadioGroup_default
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-YNX7IORC.js";
|
|
37
37
|
import {
|
|
38
38
|
FieldValidationError_default
|
|
39
39
|
} from "./chunk-UTFZRBBS.js";
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
useFieldArray,
|
|
48
48
|
useFormContext,
|
|
49
49
|
useInput
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-5R7ZPSN2.js";
|
|
51
51
|
import {
|
|
52
52
|
fromNullishString,
|
|
53
53
|
toFormFormat,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuf-stack/uniform",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "fuf react form library",
|
|
5
5
|
"author": "Hannes Tiede",
|
|
6
6
|
"homepage": "https://github.com/fuf-stack/pixels#readme",
|
|
@@ -134,8 +134,8 @@
|
|
|
134
134
|
"react-hook-form": "7.55.0",
|
|
135
135
|
"react-select": "5.10.1",
|
|
136
136
|
"@fuf-stack/pixel-utils": "0.5.4",
|
|
137
|
-
"@fuf-stack/
|
|
138
|
-
"@fuf-stack/
|
|
137
|
+
"@fuf-stack/pixels": "0.43.8",
|
|
138
|
+
"@fuf-stack/veto": "0.12.0"
|
|
139
139
|
},
|
|
140
140
|
"devDependencies": {
|
|
141
141
|
"@types/debug": "4.1.12",
|
|
@@ -145,8 +145,8 @@
|
|
|
145
145
|
"react-dom": "19.0.0",
|
|
146
146
|
"@repo/storybook-config": "0.0.1",
|
|
147
147
|
"@repo/tailwind-config": "0.0.1",
|
|
148
|
-
"@repo/
|
|
149
|
-
"@repo/
|
|
148
|
+
"@repo/vite-config": "0.0.1",
|
|
149
|
+
"@repo/tsup-config": "0.0.1"
|
|
150
150
|
},
|
|
151
151
|
"scripts": {
|
|
152
152
|
"build": "tsup --config node_modules/@repo/tsup-config/config.ts",
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
|
|
3
|
-
import * as tailwind_variants from 'tailwind-variants';
|
|
4
|
-
import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
|
|
5
|
-
|
|
6
|
-
declare const checkboxGroupVariants: tailwind_variants.TVReturnType<{
|
|
7
|
-
[key: string]: {
|
|
8
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
9
|
-
base?: tailwind_variants.ClassValue;
|
|
10
|
-
label?: tailwind_variants.ClassValue;
|
|
11
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
12
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
13
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
14
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
15
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
16
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
} | {
|
|
20
|
-
[x: string]: {
|
|
21
|
-
[x: string]: tailwind_variants.ClassValue | {
|
|
22
|
-
base?: tailwind_variants.ClassValue;
|
|
23
|
-
label?: tailwind_variants.ClassValue;
|
|
24
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
25
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
26
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
27
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
28
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
29
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
} | {}, {
|
|
33
|
-
base: string;
|
|
34
|
-
errorMessage: string;
|
|
35
|
-
itemBase: string;
|
|
36
|
-
itemIcon: string;
|
|
37
|
-
itemLabel: string;
|
|
38
|
-
itemWrapper: string;
|
|
39
|
-
label: string;
|
|
40
|
-
wrapper: string;
|
|
41
|
-
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
42
|
-
[key: string]: {
|
|
43
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
44
|
-
base?: tailwind_variants.ClassValue;
|
|
45
|
-
label?: tailwind_variants.ClassValue;
|
|
46
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
47
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
48
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
49
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
50
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
51
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
} | {}>, {
|
|
55
|
-
[key: string]: {
|
|
56
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
57
|
-
base?: tailwind_variants.ClassValue;
|
|
58
|
-
label?: tailwind_variants.ClassValue;
|
|
59
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
60
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
61
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
62
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
63
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
64
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
} | {}, {
|
|
68
|
-
base: string;
|
|
69
|
-
errorMessage: string;
|
|
70
|
-
itemBase: string;
|
|
71
|
-
itemIcon: string;
|
|
72
|
-
itemLabel: string;
|
|
73
|
-
itemWrapper: string;
|
|
74
|
-
label: string;
|
|
75
|
-
wrapper: string;
|
|
76
|
-
}, tailwind_variants.TVReturnType<unknown, {
|
|
77
|
-
base: string;
|
|
78
|
-
errorMessage: string;
|
|
79
|
-
itemBase: string;
|
|
80
|
-
itemIcon: string;
|
|
81
|
-
itemLabel: string;
|
|
82
|
-
itemWrapper: string;
|
|
83
|
-
label: string;
|
|
84
|
-
wrapper: string;
|
|
85
|
-
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
86
|
-
[key: string]: {
|
|
87
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
88
|
-
base?: tailwind_variants.ClassValue;
|
|
89
|
-
label?: tailwind_variants.ClassValue;
|
|
90
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
91
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
92
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
93
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
94
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
95
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
} | {}>, unknown, unknown, undefined>>;
|
|
99
|
-
type VariantProps = TVProps<typeof checkboxGroupVariants>;
|
|
100
|
-
type ClassName = TVClassName<typeof checkboxGroupVariants>;
|
|
101
|
-
type CheckboxGroupOption = {
|
|
102
|
-
/** option label */
|
|
103
|
-
label?: React.ReactNode;
|
|
104
|
-
/** option value */
|
|
105
|
-
value: string;
|
|
106
|
-
/** disables the option */
|
|
107
|
-
disabled?: boolean;
|
|
108
|
-
/** HTML data-testid attribute of the option */
|
|
109
|
-
testId?: string;
|
|
110
|
-
};
|
|
111
|
-
interface CheckboxGroupProps extends VariantProps {
|
|
112
|
-
/** CSS class name. ClassName: string | { buttons?: string | { base?: string; active?: string }; base?: string;} */
|
|
113
|
-
className?: ClassName;
|
|
114
|
-
/** determines orientation of the boxes. */
|
|
115
|
-
inline?: boolean;
|
|
116
|
-
/** label displayed above the Checkboxes */
|
|
117
|
-
label?: React.ReactNode;
|
|
118
|
-
/** Name the Field is registered on the form. */
|
|
119
|
-
name: string;
|
|
120
|
-
/** Checkboxes that should be displayed. */
|
|
121
|
-
options: CheckboxGroupOption[];
|
|
122
|
-
/** sets all buttons disabled */
|
|
123
|
-
disabled?: boolean;
|
|
124
|
-
/** id for internal testing. */
|
|
125
|
-
testId?: string;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* CheckboxGroup component based on [HeroUI CheckboxGroup](https://www.heroui.com//docs/components/checkbox-group)
|
|
129
|
-
*/
|
|
130
|
-
declare const CheckboxGroup: ({ className, inline, label, options, disabled, name, testId: _testId, }: CheckboxGroupProps) => react_jsx_runtime.JSX.Element;
|
|
131
|
-
|
|
132
|
-
export { CheckboxGroup as C, type CheckboxGroupProps as a, type CheckboxGroupOption as b };
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
|
|
3
|
-
import * as tailwind_variants from 'tailwind-variants';
|
|
4
|
-
import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
|
|
5
|
-
|
|
6
|
-
declare const checkboxGroupVariants: tailwind_variants.TVReturnType<{
|
|
7
|
-
[key: string]: {
|
|
8
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
9
|
-
base?: tailwind_variants.ClassValue;
|
|
10
|
-
label?: tailwind_variants.ClassValue;
|
|
11
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
12
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
13
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
14
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
15
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
16
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
} | {
|
|
20
|
-
[x: string]: {
|
|
21
|
-
[x: string]: tailwind_variants.ClassValue | {
|
|
22
|
-
base?: tailwind_variants.ClassValue;
|
|
23
|
-
label?: tailwind_variants.ClassValue;
|
|
24
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
25
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
26
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
27
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
28
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
29
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
} | {}, {
|
|
33
|
-
base: string;
|
|
34
|
-
errorMessage: string;
|
|
35
|
-
itemBase: string;
|
|
36
|
-
itemIcon: string;
|
|
37
|
-
itemLabel: string;
|
|
38
|
-
itemWrapper: string;
|
|
39
|
-
label: string;
|
|
40
|
-
wrapper: string;
|
|
41
|
-
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
42
|
-
[key: string]: {
|
|
43
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
44
|
-
base?: tailwind_variants.ClassValue;
|
|
45
|
-
label?: tailwind_variants.ClassValue;
|
|
46
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
47
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
48
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
49
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
50
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
51
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
} | {}>, {
|
|
55
|
-
[key: string]: {
|
|
56
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
57
|
-
base?: tailwind_variants.ClassValue;
|
|
58
|
-
label?: tailwind_variants.ClassValue;
|
|
59
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
60
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
61
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
62
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
63
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
64
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
} | {}, {
|
|
68
|
-
base: string;
|
|
69
|
-
errorMessage: string;
|
|
70
|
-
itemBase: string;
|
|
71
|
-
itemIcon: string;
|
|
72
|
-
itemLabel: string;
|
|
73
|
-
itemWrapper: string;
|
|
74
|
-
label: string;
|
|
75
|
-
wrapper: string;
|
|
76
|
-
}, tailwind_variants.TVReturnType<unknown, {
|
|
77
|
-
base: string;
|
|
78
|
-
errorMessage: string;
|
|
79
|
-
itemBase: string;
|
|
80
|
-
itemIcon: string;
|
|
81
|
-
itemLabel: string;
|
|
82
|
-
itemWrapper: string;
|
|
83
|
-
label: string;
|
|
84
|
-
wrapper: string;
|
|
85
|
-
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
86
|
-
[key: string]: {
|
|
87
|
-
[key: string]: tailwind_variants.ClassValue | {
|
|
88
|
-
base?: tailwind_variants.ClassValue;
|
|
89
|
-
label?: tailwind_variants.ClassValue;
|
|
90
|
-
errorMessage?: tailwind_variants.ClassValue;
|
|
91
|
-
itemBase?: tailwind_variants.ClassValue;
|
|
92
|
-
itemIcon?: tailwind_variants.ClassValue;
|
|
93
|
-
itemLabel?: tailwind_variants.ClassValue;
|
|
94
|
-
itemWrapper?: tailwind_variants.ClassValue;
|
|
95
|
-
wrapper?: tailwind_variants.ClassValue;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
} | {}>, unknown, unknown, undefined>>;
|
|
99
|
-
type VariantProps = TVProps<typeof checkboxGroupVariants>;
|
|
100
|
-
type ClassName = TVClassName<typeof checkboxGroupVariants>;
|
|
101
|
-
type CheckboxGroupOption = {
|
|
102
|
-
/** option label */
|
|
103
|
-
label?: React.ReactNode;
|
|
104
|
-
/** option value */
|
|
105
|
-
value: string;
|
|
106
|
-
/** disables the option */
|
|
107
|
-
disabled?: boolean;
|
|
108
|
-
/** HTML data-testid attribute of the option */
|
|
109
|
-
testId?: string;
|
|
110
|
-
};
|
|
111
|
-
interface CheckboxGroupProps extends VariantProps {
|
|
112
|
-
/** CSS class name. ClassName: string | { buttons?: string | { base?: string; active?: string }; base?: string;} */
|
|
113
|
-
className?: ClassName;
|
|
114
|
-
/** determines orientation of the boxes. */
|
|
115
|
-
inline?: boolean;
|
|
116
|
-
/** label displayed above the Checkboxes */
|
|
117
|
-
label?: React.ReactNode;
|
|
118
|
-
/** Name the Field is registered on the form. */
|
|
119
|
-
name: string;
|
|
120
|
-
/** Checkboxes that should be displayed. */
|
|
121
|
-
options: CheckboxGroupOption[];
|
|
122
|
-
/** sets all buttons disabled */
|
|
123
|
-
disabled?: boolean;
|
|
124
|
-
/** id for internal testing. */
|
|
125
|
-
testId?: string;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* CheckboxGroup component based on [HeroUI CheckboxGroup](https://www.heroui.com//docs/components/checkbox-group)
|
|
129
|
-
*/
|
|
130
|
-
declare const CheckboxGroup: ({ className, inline, label, options, disabled, name, testId: _testId, }: CheckboxGroupProps) => react_jsx_runtime.JSX.Element;
|
|
131
|
-
|
|
132
|
-
export { CheckboxGroup as C, type CheckboxGroupProps as a, type CheckboxGroupOption as b };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/CheckboxGroup/CheckboxGroup.tsx","../src/CheckboxGroup/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { FieldError } from 'react-hook-form';\n\nimport { Checkbox, CheckboxGroup as HeroCheckboxGroup } from '@heroui/checkbox';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useController, useFormContext } from '../hooks';\nimport { FieldCopyTestIdButton } from '../partials/FieldCopyTestIdButton';\nimport { FieldValidationError } from '../partials/FieldValidationError';\n\nexport const checkboxGroupVariants = tv({\n slots: {\n base: 'group', // Needs group for group-data condition\n errorMessage: 'text-tiny',\n itemBase: '',\n itemIcon: '',\n itemLabel: 'text-sm',\n itemWrapper: '',\n // see HeroUI styles for group-data condition,\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts\n label:\n 'text-sm text-foreground subpixel-antialiased group-data-[invalid=true]:!text-danger',\n wrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof checkboxGroupVariants>;\ntype ClassName = TVClassName<typeof checkboxGroupVariants>;\n\nexport type CheckboxGroupOption = {\n /** option label */\n label?: React.ReactNode;\n /** option value */\n value: string;\n /** disables the option */\n disabled?: boolean;\n /** HTML data-testid attribute of the option */\n testId?: string;\n};\n\nexport interface CheckboxGroupProps extends VariantProps {\n /** CSS class name. ClassName: string | { buttons?: string | { base?: string; active?: string }; base?: string;} */\n className?: ClassName;\n /** determines orientation of the boxes. */\n inline?: boolean;\n /** label displayed above the Checkboxes */\n label?: React.ReactNode;\n /** Name the Field is registered on the form. */\n name: string;\n /** Checkboxes that should be displayed. */\n options: CheckboxGroupOption[];\n /** sets all buttons disabled */\n disabled?: boolean;\n /** id for internal testing. */\n testId?: string;\n}\n\n/**\n * CheckboxGroup component based on [HeroUI CheckboxGroup](https://www.heroui.com//docs/components/checkbox-group)\n */\nconst CheckboxGroup = ({\n className = undefined,\n inline = false,\n label = undefined,\n options,\n disabled = false,\n name,\n testId: _testId = undefined,\n}: CheckboxGroupProps) => {\n const { control, debugMode, getFieldState } = useFormContext();\n const {\n error: _error,\n invalid,\n required,\n testId,\n } = getFieldState(name, _testId);\n\n const { field } = useController({ control, name, disabled });\n const { onChange, value = [], ref, onBlur } = field;\n\n const showTestIdCopyButton = debugMode === 'debug-testids';\n const showLabel = label || showTestIdCopyButton;\n\n const variants = checkboxGroupVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n const itemClassName = {\n base: classNames.itemBase,\n wrapper: classNames.itemWrapper,\n icon: classNames.itemIcon,\n label: classNames.itemLabel,\n };\n const itemGroupClassName = {\n base: classNames.base,\n wrapper: classNames.wrapper,\n label: classNames.label,\n };\n\n // Convert React Hook Form's nested error object structure to a flat array\n // RHF errors can be nested like: checkboxField.0 (individual checkbox errors)\n // and checkboxField._error (global field errors) - this flattens all\n // error values into a single array for rendering with FieldValidationError\n const errorFlat: FieldError[] =\n (_error &&\n Object.values(\n _error as unknown as Record<string, FieldError[]>,\n ).flat()) ||\n [];\n\n /**\n * Handles the checkbox group value changes based on the number of options:\n * 1. For single checkbox (options.length === 1):\n * - Converts undefined/empty array to [] for consistent controlled behavior\n * - Extracts single value from array for onChange\n *\n * Example: undefined → []\n * [value] → value\n *\n * 2. For multiple checkboxes:\n * - Uses raw value array with fallback to empty array\n * - Passes through onChange directly\n *\n * Example: undefined → []\n * ['value1', 'value2'] → ['value1', 'value2']\n */\n const getCheckboxValue = (inputValue: unknown): string[] => {\n if (Array.isArray(inputValue)) {\n return inputValue;\n }\n if (inputValue) {\n return [inputValue as string];\n }\n return [];\n };\n\n const singleCheckboxProps = {\n value: getCheckboxValue(value),\n onChange: (newValue: string[]) => onChange(newValue && newValue[0]),\n };\n\n const multipleCheckboxProps = {\n onChange,\n value: getCheckboxValue(value),\n };\n\n const checkboxGroupProps =\n options.length === 1 ? singleCheckboxProps : multipleCheckboxProps;\n\n return (\n <HeroCheckboxGroup\n name={name}\n classNames={itemGroupClassName}\n data-testid={testId}\n // see HeroUI styles for group-data condition (data-invalid),\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/components/select/src/use-select.ts\n data-invalid={invalid}\n errorMessage={\n errorFlat.length && (\n <FieldValidationError\n className={classNames.errorMessage}\n error={errorFlat}\n testId={testId}\n />\n )\n }\n isDisabled={disabled}\n isInvalid={invalid}\n isRequired={required}\n label={\n showLabel && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label>\n {label}\n {showTestIdCopyButton && <FieldCopyTestIdButton testId={testId} />}\n </label>\n )\n }\n onBlur={onBlur}\n orientation={inline ? 'horizontal' : 'vertical'}\n ref={ref}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...checkboxGroupProps}\n >\n {options?.map((option) => {\n const optionTestId = slugify(\n `${testId}_option_${option?.testId || option?.value}`,\n );\n return (\n <Checkbox\n data-invalid={invalid}\n classNames={itemClassName}\n key={`index_${option.value}`}\n isDisabled={disabled || option.disabled}\n value={option?.value}\n data-testid={optionTestId}\n >\n {option?.label}\n </Checkbox>\n );\n })}\n </HeroCheckboxGroup>\n );\n};\n\nexport default CheckboxGroup;\n","import CheckboxGroup from './CheckboxGroup';\n\nexport type { CheckboxGroupProps, CheckboxGroupOption } from './CheckboxGroup';\n\nexport { CheckboxGroup };\n\nexport default CheckboxGroup;\n"],"mappings":"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","names":["CheckboxGroup_default"]}
|