@jakubmazanec/ui 0.1.0-next.c928134
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/README.md +45 -0
- package/build/components/Button.d.ts +40 -0
- package/build/components/Button.js +139 -0
- package/build/components/Button.js.map +7 -0
- package/build/components/Card.d.ts +19 -0
- package/build/components/Card.js +26 -0
- package/build/components/Card.js.map +7 -0
- package/build/components/Checkbox.d.ts +39 -0
- package/build/components/Checkbox.js +87 -0
- package/build/components/Checkbox.js.map +7 -0
- package/build/components/CheckboxField.d.ts +18 -0
- package/build/components/CheckboxField.js +22 -0
- package/build/components/CheckboxField.js.map +7 -0
- package/build/components/Combobox.d.ts +57 -0
- package/build/components/Combobox.js +178 -0
- package/build/components/Combobox.js.map +7 -0
- package/build/components/ComboboxOption.d.ts +33 -0
- package/build/components/ComboboxOption.js +59 -0
- package/build/components/ComboboxOption.js.map +7 -0
- package/build/components/Container.d.ts +36 -0
- package/build/components/Container.js +63 -0
- package/build/components/Container.js.map +7 -0
- package/build/components/Description.d.ts +19 -0
- package/build/components/Description.js +28 -0
- package/build/components/Description.js.map +7 -0
- package/build/components/Dialog.d.ts +32 -0
- package/build/components/Dialog.js +55 -0
- package/build/components/Dialog.js.map +7 -0
- package/build/components/DialogPanel.d.ts +19 -0
- package/build/components/DialogPanel.js +29 -0
- package/build/components/DialogPanel.js.map +7 -0
- package/build/components/DialogTitle.d.ts +19 -0
- package/build/components/DialogTitle.js +28 -0
- package/build/components/DialogTitle.js.map +7 -0
- package/build/components/Error.d.ts +19 -0
- package/build/components/Error.js +37 -0
- package/build/components/Error.js.map +7 -0
- package/build/components/Field.d.ts +22 -0
- package/build/components/Field.js +32 -0
- package/build/components/Field.js.map +7 -0
- package/build/components/Fieldset.d.ts +27 -0
- package/build/components/Fieldset.js +39 -0
- package/build/components/Fieldset.js.map +7 -0
- package/build/components/Form.d.ts +22 -0
- package/build/components/Form.js +41 -0
- package/build/components/Form.js.map +7 -0
- package/build/components/Icon.d.ts +32 -0
- package/build/components/Icon.js +65 -0
- package/build/components/Icon.js.map +7 -0
- package/build/components/Input.d.ts +37 -0
- package/build/components/Input.js +111 -0
- package/build/components/Input.js.map +7 -0
- package/build/components/Label.d.ts +19 -0
- package/build/components/Label.js +26 -0
- package/build/components/Label.js.map +7 -0
- package/build/components/Legend.d.ts +19 -0
- package/build/components/Legend.js +26 -0
- package/build/components/Legend.js.map +7 -0
- package/build/components/Listbox.d.ts +59 -0
- package/build/components/Listbox.js +254 -0
- package/build/components/Listbox.js.map +7 -0
- package/build/components/ListboxOption.d.ts +33 -0
- package/build/components/ListboxOption.js +59 -0
- package/build/components/ListboxOption.js.map +7 -0
- package/build/components/Menu.d.ts +21 -0
- package/build/components/Menu.js +29 -0
- package/build/components/Menu.js.map +7 -0
- package/build/components/MenuButton.d.ts +27 -0
- package/build/components/MenuButton.js +45 -0
- package/build/components/MenuButton.js.map +7 -0
- package/build/components/MenuHeading.d.ts +19 -0
- package/build/components/MenuHeading.js +28 -0
- package/build/components/MenuHeading.js.map +7 -0
- package/build/components/MenuItem.d.ts +27 -0
- package/build/components/MenuItem.js +39 -0
- package/build/components/MenuItem.js.map +7 -0
- package/build/components/MenuItems.d.ts +22 -0
- package/build/components/MenuItems.js +36 -0
- package/build/components/MenuItems.js.map +7 -0
- package/build/components/MenuSection.d.ts +19 -0
- package/build/components/MenuSection.js +28 -0
- package/build/components/MenuSection.js.map +7 -0
- package/build/components/MenuSeparator.d.ts +19 -0
- package/build/components/MenuSeparator.js +28 -0
- package/build/components/MenuSeparator.js.map +7 -0
- package/build/components/Popover.d.ts +19 -0
- package/build/components/Popover.js +28 -0
- package/build/components/Popover.js.map +7 -0
- package/build/components/PopoverBackdrop.d.ts +19 -0
- package/build/components/PopoverBackdrop.js +28 -0
- package/build/components/PopoverBackdrop.js.map +7 -0
- package/build/components/PopoverButton.d.ts +29 -0
- package/build/components/PopoverButton.js +47 -0
- package/build/components/PopoverButton.js.map +7 -0
- package/build/components/PopoverGroup.d.ts +19 -0
- package/build/components/PopoverGroup.js +28 -0
- package/build/components/PopoverGroup.js.map +7 -0
- package/build/components/PopoverPanel.d.ts +24 -0
- package/build/components/PopoverPanel.js +38 -0
- package/build/components/PopoverPanel.js.map +7 -0
- package/build/components/Radio.d.ts +33 -0
- package/build/components/Radio.js +57 -0
- package/build/components/Radio.js.map +7 -0
- package/build/components/RadioField.d.ts +11 -0
- package/build/components/RadioField.js +15 -0
- package/build/components/RadioField.js.map +7 -0
- package/build/components/RadioGroup.d.ts +34 -0
- package/build/components/RadioGroup.js +87 -0
- package/build/components/RadioGroup.js.map +7 -0
- package/build/components/Spinner.d.ts +21 -0
- package/build/components/Spinner.js +70 -0
- package/build/components/Spinner.js.map +7 -0
- package/build/components/Table.d.ts +19 -0
- package/build/components/Table.js +26 -0
- package/build/components/Table.js.map +7 -0
- package/build/components/TableBody.d.ts +19 -0
- package/build/components/TableBody.js +26 -0
- package/build/components/TableBody.js.map +7 -0
- package/build/components/TableCaption.d.ts +19 -0
- package/build/components/TableCaption.js +31 -0
- package/build/components/TableCaption.js.map +7 -0
- package/build/components/TableCell.d.ts +19 -0
- package/build/components/TableCell.js +26 -0
- package/build/components/TableCell.js.map +7 -0
- package/build/components/TableFoot.d.ts +19 -0
- package/build/components/TableFoot.js +26 -0
- package/build/components/TableFoot.js.map +7 -0
- package/build/components/TableHead.d.ts +19 -0
- package/build/components/TableHead.js +26 -0
- package/build/components/TableHead.js.map +7 -0
- package/build/components/TableHeader.d.ts +19 -0
- package/build/components/TableHeader.js +26 -0
- package/build/components/TableHeader.js.map +7 -0
- package/build/components/TableRow.d.ts +19 -0
- package/build/components/TableRow.js +26 -0
- package/build/components/TableRow.js.map +7 -0
- package/build/components/Text.d.ts +27 -0
- package/build/components/Text.js +43 -0
- package/build/components/Text.js.map +7 -0
- package/build/components/Textarea.d.ts +34 -0
- package/build/components/Textarea.js +78 -0
- package/build/components/Textarea.js.map +7 -0
- package/build/components/data-table/DataTable.d.ts +39 -0
- package/build/components/data-table/DataTable.js +276 -0
- package/build/components/data-table/DataTable.js.map +7 -0
- package/build/components/data-table/DataTableColumnOrder.d.ts +3 -0
- package/build/components/data-table/DataTableColumnOrder.js +4 -0
- package/build/components/data-table/DataTableColumnOrder.js.map +7 -0
- package/build/components/data-table/DataTableColumnPinning.d.ts +3 -0
- package/build/components/data-table/DataTableColumnPinning.js +4 -0
- package/build/components/data-table/DataTableColumnPinning.js.map +7 -0
- package/build/components/data-table/DataTableColumnVisibility.d.ts +3 -0
- package/build/components/data-table/DataTableColumnVisibility.js +4 -0
- package/build/components/data-table/DataTableColumnVisibility.js.map +7 -0
- package/build/components/data-table/DataTableFaceting.d.ts +15 -0
- package/build/components/data-table/DataTableFaceting.js +11 -0
- package/build/components/data-table/DataTableFaceting.js.map +7 -0
- package/build/components/data-table/DataTableFilters.d.ts +12 -0
- package/build/components/data-table/DataTableFilters.js +15 -0
- package/build/components/data-table/DataTableFilters.js.map +7 -0
- package/build/components/data-table/DataTablePagination.d.ts +16 -0
- package/build/components/data-table/DataTablePagination.js +16 -0
- package/build/components/data-table/DataTablePagination.js.map +7 -0
- package/build/components/data-table/DataTableSearch.d.ts +3 -0
- package/build/components/data-table/DataTableSearch.js +4 -0
- package/build/components/data-table/DataTableSearch.js.map +7 -0
- package/build/components/data-table/DataTableSorting.d.ts +12 -0
- package/build/components/data-table/DataTableSorting.js +10 -0
- package/build/components/data-table/DataTableSorting.js.map +7 -0
- package/build/components/data-table/internals/DataTableHeader.d.ts +15 -0
- package/build/components/data-table/internals/DataTableHeader.js +194 -0
- package/build/components/data-table/internals/DataTableHeader.js.map +7 -0
- package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.d.ts +6 -0
- package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.js +36 -0
- package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.js.map +7 -0
- package/build/components/data-table/internals/DataTableHeaderFilter.d.ts +12 -0
- package/build/components/data-table/internals/DataTableHeaderFilter.js +264 -0
- package/build/components/data-table/internals/DataTableHeaderFilter.js.map +7 -0
- package/build/components/data-table/internals/DataTablePageButton.d.ts +6 -0
- package/build/components/data-table/internals/DataTablePageButton.js +11 -0
- package/build/components/data-table/internals/DataTablePageButton.js.map +7 -0
- package/build/components/data-table/internals/DataTablePagination.d.ts +12 -0
- package/build/components/data-table/internals/DataTablePagination.js +190 -0
- package/build/components/data-table/internals/DataTablePagination.js.map +7 -0
- package/build/components/data-table/internals/DataTableSearch.d.ts +9 -0
- package/build/components/data-table/internals/DataTableSearch.js +73 -0
- package/build/components/data-table/internals/DataTableSearch.js.map +7 -0
- package/build/components/data-table/internals/addFilter.d.ts +5 -0
- package/build/components/data-table/internals/addFilter.js +31 -0
- package/build/components/data-table/internals/addFilter.js.map +7 -0
- package/build/components/data-table/internals/constants.d.ts +3 -0
- package/build/components/data-table/internals/constants.js +5 -0
- package/build/components/data-table/internals/constants.js.map +7 -0
- package/build/components/data-table/internals/fromPinningState.d.ts +2 -0
- package/build/components/data-table/internals/fromPinningState.js +12 -0
- package/build/components/data-table/internals/fromPinningState.js.map +7 -0
- package/build/components/data-table/internals/fuzzyFilter.d.ts +2 -0
- package/build/components/data-table/internals/fuzzyFilter.js +8 -0
- package/build/components/data-table/internals/fuzzyFilter.js.map +7 -0
- package/build/components/data-table/internals/getCommonPinningClasses.d.ts +2 -0
- package/build/components/data-table/internals/getCommonPinningClasses.js +13 -0
- package/build/components/data-table/internals/getCommonPinningClasses.js.map +7 -0
- package/build/components/data-table/internals/getCommonPinningStyles.d.ts +3 -0
- package/build/components/data-table/internals/getCommonPinningStyles.js +10 -0
- package/build/components/data-table/internals/getCommonPinningStyles.js.map +7 -0
- package/build/components/data-table/internals/normalizeFilter.d.ts +3 -0
- package/build/components/data-table/internals/normalizeFilter.js +19 -0
- package/build/components/data-table/internals/normalizeFilter.js.map +7 -0
- package/build/components/data-table/internals/normalizeFilters.d.ts +3 -0
- package/build/components/data-table/internals/normalizeFilters.js +18 -0
- package/build/components/data-table/internals/normalizeFilters.js.map +7 -0
- package/build/components/data-table/internals/normalizeSorting.d.ts +4 -0
- package/build/components/data-table/internals/normalizeSorting.js +26 -0
- package/build/components/data-table/internals/normalizeSorting.js.map +7 -0
- package/build/components/data-table/internals/removeFilter.d.ts +5 -0
- package/build/components/data-table/internals/removeFilter.js +18 -0
- package/build/components/data-table/internals/removeFilter.js.map +7 -0
- package/build/components/data-table/internals.d.ts +16 -0
- package/build/components/data-table/internals.js +18 -0
- package/build/components/data-table/internals.js.map +7 -0
- package/build/components/data-table.d.ts +9 -0
- package/build/components/data-table.js +11 -0
- package/build/components/data-table.js.map +7 -0
- package/build/components/internals/fieldContext.d.ts +3 -0
- package/build/components/internals/fieldContext.js +4 -0
- package/build/components/internals/fieldContext.js.map +7 -0
- package/build/components/internals/fieldNameContext.d.ts +3 -0
- package/build/components/internals/fieldNameContext.js +4 -0
- package/build/components/internals/fieldNameContext.js.map +7 -0
- package/build/components/internals/filterProps.d.ts +4 -0
- package/build/components/internals/filterProps.js +9 -0
- package/build/components/internals/filterProps.js.map +7 -0
- package/build/components/internals/formIdContext.d.ts +2 -0
- package/build/components/internals/formIdContext.js +4 -0
- package/build/components/internals/formIdContext.js.map +7 -0
- package/build/components/internals/forwardRef.d.ts +4 -0
- package/build/components/internals/forwardRef.js +6 -0
- package/build/components/internals/forwardRef.js.map +7 -0
- package/build/components/internals/useFormId.d.ts +1 -0
- package/build/components/internals/useFormId.js +7 -0
- package/build/components/internals/useFormId.js.map +7 -0
- package/build/components/internals.d.ts +6 -0
- package/build/components/internals.js +8 -0
- package/build/components/internals.js.map +7 -0
- package/build/components/useField.d.ts +1 -0
- package/build/components/useField.js +7 -0
- package/build/components/useField.js.map +7 -0
- package/build/components/useFieldName.d.ts +1 -0
- package/build/components/useFieldName.js +7 -0
- package/build/components/useFieldName.js.map +7 -0
- package/build/components/useForm.d.ts +10 -0
- package/build/components/useForm.js +19 -0
- package/build/components/useForm.js.map +7 -0
- package/build/components.d.ts +51 -0
- package/build/components.js +53 -0
- package/build/components.js.map +7 -0
- package/build/development/createTailwindConfig.d.ts +18 -0
- package/build/development/createTailwindConfig.js +172 -0
- package/build/development/createTailwindConfig.js.map +7 -0
- package/build/development/createTailwindMerge.d.ts +2 -0
- package/build/development/createTailwindMerge.js +74 -0
- package/build/development/createTailwindMerge.js.map +7 -0
- package/build/development/internals/PaletteConfig.d.ts +6 -0
- package/build/development/internals/PaletteConfig.js +2 -0
- package/build/development/internals/PaletteConfig.js.map +7 -0
- package/build/development/internals/SwatchValue.d.ts +9 -0
- package/build/development/internals/SwatchValue.js +2 -0
- package/build/development/internals/SwatchValue.js.map +7 -0
- package/build/development/internals/clamp.d.ts +1 -0
- package/build/development/internals/clamp.js +5 -0
- package/build/development/internals/clamp.js.map +7 -0
- package/build/development/internals/constants.d.ts +2 -0
- package/build/development/internals/constants.js +22 -0
- package/build/development/internals/constants.js.map +7 -0
- package/build/development/internals/createDisplayColor.d.ts +1 -0
- package/build/development/internals/createDisplayColor.js +24 -0
- package/build/development/internals/createDisplayColor.js.map +7 -0
- package/build/development/internals/createDistributionValues.d.ts +4 -0
- package/build/development/internals/createDistributionValues.js +32 -0
- package/build/development/internals/createDistributionValues.js.map +7 -0
- package/build/development/internals/createHueScale.d.ts +4 -0
- package/build/development/internals/createHueScale.js +15 -0
- package/build/development/internals/createHueScale.js.map +7 -0
- package/build/development/internals/createPalette.d.ts +16 -0
- package/build/development/internals/createPalette.js +36 -0
- package/build/development/internals/createPalette.js.map +7 -0
- package/build/development/internals/createSaturationScale.d.ts +4 -0
- package/build/development/internals/createSaturationScale.js +18 -0
- package/build/development/internals/createSaturationScale.js.map +7 -0
- package/build/development/internals/createSwatches.d.ts +10 -0
- package/build/development/internals/createSwatches.js +31 -0
- package/build/development/internals/createSwatches.js.map +7 -0
- package/build/development/internals/hexToHsl.d.ts +5 -0
- package/build/development/internals/hexToHsl.js +37 -0
- package/build/development/internals/hexToHsl.js.map +7 -0
- package/build/development/internals/hexToRgb.d.ts +5 -0
- package/build/development/internals/hexToRgb.js +21 -0
- package/build/development/internals/hexToRgb.js.map +7 -0
- package/build/development/internals/hslToHex.d.ts +1 -0
- package/build/development/internals/hslToHex.js +19 -0
- package/build/development/internals/hslToHex.js.map +7 -0
- package/build/development/internals/hslToRgb.d.ts +5 -0
- package/build/development/internals/hslToRgb.js +42 -0
- package/build/development/internals/hslToRgb.js.map +7 -0
- package/build/development/internals/isHex.d.ts +1 -0
- package/build/development/internals/isHex.js +7 -0
- package/build/development/internals/isHex.js.map +7 -0
- package/build/development/internals/resolveModule.d.ts +1 -0
- package/build/development/internals/resolveModule.js +9 -0
- package/build/development/internals/resolveModule.js.map +7 -0
- package/build/development/internals/round.d.ts +1 -0
- package/build/development/internals/round.js +6 -0
- package/build/development/internals/round.js.map +7 -0
- package/build/development/internals/unsignedModulo.d.ts +1 -0
- package/build/development/internals/unsignedModulo.js +5 -0
- package/build/development/internals/unsignedModulo.js.map +7 -0
- package/build/development/internals.d.ts +18 -0
- package/build/development/internals.js +20 -0
- package/build/development/internals.js.map +7 -0
- package/build/development.d.ts +2 -0
- package/build/development.js +4 -0
- package/build/development.js.map +7 -0
- package/build/inter-variable-italic.woff2 +0 -0
- package/build/inter-variable.woff2 +0 -0
- package/build/main.d.ts +5 -0
- package/build/main.js +7 -0
- package/build/main.js.map +7 -0
- package/build/styles.css +23 -0
- package/build/styles.css.map +7 -0
- package/build/theme/Theme.d.ts +146 -0
- package/build/theme/Theme.js +2 -0
- package/build/theme/Theme.js.map +7 -0
- package/build/theme/ThemeProvider.d.ts +6 -0
- package/build/theme/ThemeProvider.js +7 -0
- package/build/theme/ThemeProvider.js.map +7 -0
- package/build/theme/defaultTheme.d.ts +2 -0
- package/build/theme/defaultTheme.js +102 -0
- package/build/theme/defaultTheme.js.map +7 -0
- package/build/theme/internals/ClassName.d.ts +1 -0
- package/build/theme/internals/ClassName.js +2 -0
- package/build/theme/internals/ClassName.js.map +7 -0
- package/build/theme/internals/ComponentProps.d.ts +7 -0
- package/build/theme/internals/ComponentProps.js +2 -0
- package/build/theme/internals/ComponentProps.js.map +7 -0
- package/build/theme/internals/ComponentTheme.d.ts +35 -0
- package/build/theme/internals/ComponentTheme.js +2 -0
- package/build/theme/internals/ComponentTheme.js.map +7 -0
- package/build/theme/internals/ComponentThemeCompoundVariants.d.ts +12 -0
- package/build/theme/internals/ComponentThemeCompoundVariants.js +2 -0
- package/build/theme/internals/ComponentThemeCompoundVariants.js.map +7 -0
- package/build/theme/internals/ComponentThemeDefinition.d.ts +6 -0
- package/build/theme/internals/ComponentThemeDefinition.js +2 -0
- package/build/theme/internals/ComponentThemeDefinition.js.map +7 -0
- package/build/theme/internals/ComponentThemeDefinitionElements.d.ts +1 -0
- package/build/theme/internals/ComponentThemeDefinitionElements.js +2 -0
- package/build/theme/internals/ComponentThemeDefinitionElements.js.map +7 -0
- package/build/theme/internals/ComponentThemeDefinitionVariants.d.ts +3 -0
- package/build/theme/internals/ComponentThemeDefinitionVariants.js +2 -0
- package/build/theme/internals/ComponentThemeDefinitionVariants.js.map +7 -0
- package/build/theme/internals/ComponentThemeProps.d.ts +5 -0
- package/build/theme/internals/ComponentThemeProps.js +2 -0
- package/build/theme/internals/ComponentThemeProps.js.map +7 -0
- package/build/theme/internals/ComponentThemeVariants.d.ts +14 -0
- package/build/theme/internals/ComponentThemeVariants.js +2 -0
- package/build/theme/internals/ComponentThemeVariants.js.map +7 -0
- package/build/theme/internals/ComponentWithTheme.d.ts +5 -0
- package/build/theme/internals/ComponentWithTheme.js +2 -0
- package/build/theme/internals/ComponentWithTheme.js.map +7 -0
- package/build/theme/internals/UseComponentTheme.d.ts +21 -0
- package/build/theme/internals/UseComponentTheme.js +2 -0
- package/build/theme/internals/UseComponentTheme.js.map +7 -0
- package/build/theme/internals/UseComponentThemeReturn.d.ts +6 -0
- package/build/theme/internals/UseComponentThemeReturn.js +2 -0
- package/build/theme/internals/UseComponentThemeReturn.js.map +7 -0
- package/build/theme/internals/booleanToString.d.ts +1 -0
- package/build/theme/internals/booleanToString.js +5 -0
- package/build/theme/internals/booleanToString.js.map +7 -0
- package/build/theme/internals/createComponentTheme.d.ts +3 -0
- package/build/theme/internals/createComponentTheme.js +39 -0
- package/build/theme/internals/createComponentTheme.js.map +7 -0
- package/build/theme/internals/createUseComponentThemeReturn.d.ts +15 -0
- package/build/theme/internals/createUseComponentThemeReturn.js +50 -0
- package/build/theme/internals/createUseComponentThemeReturn.js.map +7 -0
- package/build/theme/internals/pickPropertyIfExists.d.ts +4 -0
- package/build/theme/internals/pickPropertyIfExists.js +11 -0
- package/build/theme/internals/pickPropertyIfExists.js.map +7 -0
- package/build/theme/internals/themeContext.d.ts +354 -0
- package/build/theme/internals/themeContext.js +4 -0
- package/build/theme/internals/themeContext.js.map +7 -0
- package/build/theme/internals/useTheme.d.ts +353 -0
- package/build/theme/internals/useTheme.js +7 -0
- package/build/theme/internals/useTheme.js.map +7 -0
- package/build/theme/internals.d.ts +18 -0
- package/build/theme/internals.js +20 -0
- package/build/theme/internals.js.map +7 -0
- package/build/theme.d.ts +3 -0
- package/build/theme.js +5 -0
- package/build/theme.js.map +7 -0
- package/build/utilities/WithLocaleOrLocales.d.ts +5 -0
- package/build/utilities/WithLocaleOrLocales.js +2 -0
- package/build/utilities/WithLocaleOrLocales.js.map +7 -0
- package/build/utilities/formatDateTime.d.ts +3 -0
- package/build/utilities/formatDateTime.js +11 -0
- package/build/utilities/formatDateTime.js.map +7 -0
- package/build/utilities/formatNumber.d.ts +3 -0
- package/build/utilities/formatNumber.js +11 -0
- package/build/utilities/formatNumber.js.map +7 -0
- package/build/utilities/internals/cache.d.ts +1 -0
- package/build/utilities/internals/cache.js +3 -0
- package/build/utilities/internals/cache.js.map +7 -0
- package/build/utilities/internals/createCacheKey.d.ts +1 -0
- package/build/utilities/internals/createCacheKey.js +6 -0
- package/build/utilities/internals/createCacheKey.js.map +7 -0
- package/build/utilities/internals/getMemoized.d.ts +1 -0
- package/build/utilities/internals/getMemoized.js +12 -0
- package/build/utilities/internals/getMemoized.js.map +7 -0
- package/build/utilities/internals/normalizeLocales.d.ts +2 -0
- package/build/utilities/internals/normalizeLocales.js +12 -0
- package/build/utilities/internals/normalizeLocales.js.map +7 -0
- package/build/utilities/internals.d.ts +4 -0
- package/build/utilities/internals.js +6 -0
- package/build/utilities/internals.js.map +7 -0
- package/build/utilities.d.ts +3 -0
- package/build/utilities.js +5 -0
- package/build/utilities.js.map +7 -0
- package/package.json +101 -0
- package/source/components/Button.tsx +172 -0
- package/source/components/Card.ts +46 -0
- package/source/components/Checkbox.tsx +125 -0
- package/source/components/CheckboxField.tsx +61 -0
- package/source/components/Combobox.tsx +298 -0
- package/source/components/ComboboxOption.tsx +95 -0
- package/source/components/Container.ts +84 -0
- package/source/components/Description.tsx +52 -0
- package/source/components/Dialog.tsx +85 -0
- package/source/components/DialogPanel.tsx +54 -0
- package/source/components/DialogTitle.tsx +52 -0
- package/source/components/Error.tsx +58 -0
- package/source/components/Field.tsx +79 -0
- package/source/components/Fieldset.tsx +64 -0
- package/source/components/Form.tsx +72 -0
- package/source/components/Icon.tsx +102 -0
- package/source/components/Input.tsx +156 -0
- package/source/components/Label.tsx +49 -0
- package/source/components/Legend.tsx +49 -0
- package/source/components/Listbox.tsx +401 -0
- package/source/components/ListboxOption.tsx +95 -0
- package/source/components/Menu.tsx +50 -0
- package/source/components/MenuButton.tsx +69 -0
- package/source/components/MenuHeading.tsx +52 -0
- package/source/components/MenuItem.tsx +64 -0
- package/source/components/MenuItems.tsx +62 -0
- package/source/components/MenuSection.tsx +52 -0
- package/source/components/MenuSeparator.tsx +52 -0
- package/source/components/Popover.tsx +52 -0
- package/source/components/PopoverBackdrop.tsx +52 -0
- package/source/components/PopoverButton.tsx +72 -0
- package/source/components/PopoverGroup.tsx +52 -0
- package/source/components/PopoverPanel.tsx +65 -0
- package/source/components/Radio.tsx +88 -0
- package/source/components/RadioField.tsx +31 -0
- package/source/components/RadioGroup.tsx +147 -0
- package/source/components/Spinner.tsx +70 -0
- package/source/components/Table.ts +47 -0
- package/source/components/TableBody.ts +47 -0
- package/source/components/TableCaption.ts +52 -0
- package/source/components/TableCell.ts +47 -0
- package/source/components/TableFoot.ts +47 -0
- package/source/components/TableHead.ts +47 -0
- package/source/components/TableHeader.ts +47 -0
- package/source/components/TableRow.ts +47 -0
- package/source/components/Text.ts +64 -0
- package/source/components/Textarea.tsx +104 -0
- package/source/components/data-table/DataTable.tsx +377 -0
- package/source/components/data-table/DataTableColumnOrder.ts +5 -0
- package/source/components/data-table/DataTableColumnPinning.ts +5 -0
- package/source/components/data-table/DataTableColumnVisibility.ts +5 -0
- package/source/components/data-table/DataTableFaceting.ts +12 -0
- package/source/components/data-table/DataTableFilters.ts +18 -0
- package/source/components/data-table/DataTablePagination.ts +18 -0
- package/source/components/data-table/DataTableSearch.ts +5 -0
- package/source/components/data-table/DataTableSorting.ts +11 -0
- package/source/components/data-table/internals/DataTableHeader.tsx +254 -0
- package/source/components/data-table/internals/DataTableHeaderColumnCheckbox.tsx +44 -0
- package/source/components/data-table/internals/DataTableHeaderFilter.tsx +340 -0
- package/source/components/data-table/internals/DataTablePageButton.tsx +21 -0
- package/source/components/data-table/internals/DataTablePagination.tsx +220 -0
- package/source/components/data-table/internals/DataTableSearch.tsx +109 -0
- package/source/components/data-table/internals/addFilter.ts +42 -0
- package/source/components/data-table/internals/constants.ts +3 -0
- package/source/components/data-table/internals/fromPinningState.ts +17 -0
- package/source/components/data-table/internals/fuzzyFilter.ts +15 -0
- package/source/components/data-table/internals/getCommonPinningClasses.ts +19 -0
- package/source/components/data-table/internals/getCommonPinningStyles.ts +13 -0
- package/source/components/data-table/internals/normalizeFilter.ts +33 -0
- package/source/components/data-table/internals/normalizeFilters.ts +31 -0
- package/source/components/data-table/internals/normalizeSorting.ts +40 -0
- package/source/components/data-table/internals/removeFilter.ts +26 -0
- package/source/components/data-table/internals.ts +16 -0
- package/source/components/data-table.ts +9 -0
- package/source/components/internals/fieldContext.ts +4 -0
- package/source/components/internals/fieldNameContext.ts +5 -0
- package/source/components/internals/filterProps.ts +12 -0
- package/source/components/internals/formIdContext.ts +3 -0
- package/source/components/internals/forwardRef.ts +7 -0
- package/source/components/internals/useFormId.ts +7 -0
- package/source/components/internals.ts +6 -0
- package/source/components/useField.ts +7 -0
- package/source/components/useFieldName.ts +7 -0
- package/source/components/useForm.ts +24 -0
- package/source/components.ts +51 -0
- package/source/development/createTailwindConfig.ts +189 -0
- package/source/development/createTailwindMerge.ts +101 -0
- package/source/development/internals/PaletteConfig.ts +6 -0
- package/source/development/internals/SwatchValue.ts +9 -0
- package/source/development/internals/clamp.ts +3 -0
- package/source/development/internals/constants.ts +4 -0
- package/source/development/internals/createDisplayColor.ts +29 -0
- package/source/development/internals/createDistributionValues.ts +38 -0
- package/source/development/internals/createHueScale.ts +17 -0
- package/source/development/internals/createPalette.ts +54 -0
- package/source/development/internals/createSaturationScale.ts +21 -0
- package/source/development/internals/createSwatches.ts +34 -0
- package/source/development/internals/hexToHsl.ts +45 -0
- package/source/development/internals/hexToRgb.ts +23 -0
- package/source/development/internals/hslToHex.ts +23 -0
- package/source/development/internals/hslToRgb.ts +43 -0
- package/source/development/internals/isHex.ts +7 -0
- package/source/development/internals/resolveModule.ts +9 -0
- package/source/development/internals/round.ts +5 -0
- package/source/development/internals/unsignedModulo.ts +3 -0
- package/source/development/internals.ts +18 -0
- package/source/development.ts +2 -0
- package/source/inter-variable-italic.woff2 +0 -0
- package/source/inter-variable.woff2 +0 -0
- package/source/main.ts +5 -0
- package/source/styles.css +25 -0
- package/source/theme/Theme.ts +102 -0
- package/source/theme/ThemeProvider.tsx +12 -0
- package/source/theme/defaultTheme.ts +103 -0
- package/source/theme/internals/ClassName.ts +1 -0
- package/source/theme/internals/ComponentProps.ts +13 -0
- package/source/theme/internals/ComponentTheme.ts +50 -0
- package/source/theme/internals/ComponentThemeCompoundVariants.ts +20 -0
- package/source/theme/internals/ComponentThemeDefinition.ts +7 -0
- package/source/theme/internals/ComponentThemeDefinitionElements.ts +1 -0
- package/source/theme/internals/ComponentThemeDefinitionVariants.ts +3 -0
- package/source/theme/internals/ComponentThemeProps.ts +11 -0
- package/source/theme/internals/ComponentThemeVariants.ts +24 -0
- package/source/theme/internals/ComponentWithTheme.ts +6 -0
- package/source/theme/internals/UseComponentTheme.ts +22 -0
- package/source/theme/internals/UseComponentThemeReturn.ts +15 -0
- package/source/theme/internals/booleanToString.ts +6 -0
- package/source/theme/internals/createComponentTheme.ts +70 -0
- package/source/theme/internals/createUseComponentThemeReturn.ts +87 -0
- package/source/theme/internals/pickPropertyIfExists.ts +24 -0
- package/source/theme/internals/themeContext.ts +5 -0
- package/source/theme/internals/useTheme.ts +7 -0
- package/source/theme/internals.ts +18 -0
- package/source/theme.ts +3 -0
- package/source/utilities/WithLocaleOrLocales.ts +1 -0
- package/source/utilities/formatDateTime.ts +15 -0
- package/source/utilities/formatNumber.ts +15 -0
- package/source/utilities/internals/cache.ts +1 -0
- package/source/utilities/internals/createCacheKey.ts +9 -0
- package/source/utilities/internals/getMemoized.ts +14 -0
- package/source/utilities/internals/normalizeLocales.ts +15 -0
- package/source/utilities/internals.ts +4 -0
- package/source/utilities.ts +3 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export function hslToRgb(h: number, rawS: number, rawL: number) {
|
|
2
|
+
let s = rawS / 100;
|
|
3
|
+
let l = rawL / 100;
|
|
4
|
+
|
|
5
|
+
let c = (1 - Math.abs(2 * l - 1)) * s;
|
|
6
|
+
let x = c * (1 - Math.abs(((h / 60) % 2) - 1));
|
|
7
|
+
let m = l - c / 2;
|
|
8
|
+
let r = 0;
|
|
9
|
+
let g = 0;
|
|
10
|
+
let b = 0;
|
|
11
|
+
|
|
12
|
+
if (h >= 0 && h < 60) {
|
|
13
|
+
r = c;
|
|
14
|
+
g = x;
|
|
15
|
+
b = 0;
|
|
16
|
+
} else if (h >= 60 && h < 120) {
|
|
17
|
+
r = x;
|
|
18
|
+
g = c;
|
|
19
|
+
b = 0;
|
|
20
|
+
} else if (h >= 120 && h < 180) {
|
|
21
|
+
r = 0;
|
|
22
|
+
g = c;
|
|
23
|
+
b = x;
|
|
24
|
+
} else if (h >= 180 && h < 240) {
|
|
25
|
+
r = 0;
|
|
26
|
+
g = x;
|
|
27
|
+
b = c;
|
|
28
|
+
} else if (h >= 240 && h < 300) {
|
|
29
|
+
r = x;
|
|
30
|
+
g = 0;
|
|
31
|
+
b = c;
|
|
32
|
+
} else if (h >= 300 && h < 360) {
|
|
33
|
+
r = c;
|
|
34
|
+
g = 0;
|
|
35
|
+
b = x;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
r: Math.round((r + m) * 255),
|
|
40
|
+
g: Math.round((g + m) * 255),
|
|
41
|
+
b: Math.round((b + m) * 255),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import module from 'node:module';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
|
|
4
|
+
export function resolveModule(moduleId: string) {
|
|
5
|
+
let require = module.createRequire(import.meta.url);
|
|
6
|
+
let modulePath = path.dirname(require.resolve(`${moduleId}/package.json`));
|
|
7
|
+
|
|
8
|
+
return modulePath;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from './internals/clamp.js';
|
|
2
|
+
export * from './internals/constants.js';
|
|
3
|
+
export * from './internals/createDisplayColor.js';
|
|
4
|
+
export * from './internals/createDistributionValues.js';
|
|
5
|
+
export * from './internals/createHueScale.js';
|
|
6
|
+
export * from './internals/createPalette.js';
|
|
7
|
+
export * from './internals/createSaturationScale.js';
|
|
8
|
+
export * from './internals/createSwatches.js';
|
|
9
|
+
export * from './internals/hexToHsl.js';
|
|
10
|
+
export * from './internals/hexToRgb.js';
|
|
11
|
+
export * from './internals/hslToHex.js';
|
|
12
|
+
export * from './internals/hslToRgb.js';
|
|
13
|
+
export * from './internals/isHex.js';
|
|
14
|
+
export * from './internals/PaletteConfig.js';
|
|
15
|
+
export * from './internals/resolveModule.js';
|
|
16
|
+
export * from './internals/round.js';
|
|
17
|
+
export * from './internals/SwatchValue.js';
|
|
18
|
+
export * from './internals/unsignedModulo.js';
|
|
Binary file
|
|
Binary file
|
package/source/main.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: InterVariable;
|
|
3
|
+
font-style: normal;
|
|
4
|
+
font-weight: 100 900;
|
|
5
|
+
font-display: swap;
|
|
6
|
+
src: url('./inter-variable.woff2') format('woff2');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@font-face {
|
|
10
|
+
font-family: InterVariable;
|
|
11
|
+
font-style: italic;
|
|
12
|
+
font-weight: 100 900;
|
|
13
|
+
font-display: swap;
|
|
14
|
+
src: url('./inter-variable-italic.woff2') format('woff2');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@layer base {
|
|
18
|
+
html {
|
|
19
|
+
@apply font-sans text-neutral-950;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
* {
|
|
23
|
+
scrollbar-color: theme(colors.neutral.200) theme(colors.transparent);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import {type Simplify} from '@jakubmazanec/ts-utils';
|
|
2
|
+
|
|
3
|
+
import {type useButtonTheme} from '../components/Button.js';
|
|
4
|
+
import {type useCardTheme} from '../components/Card.js';
|
|
5
|
+
import {type useCheckboxTheme} from '../components/Checkbox.js';
|
|
6
|
+
import {type useCheckboxFieldTheme} from '../components/CheckboxField.js';
|
|
7
|
+
import {type useComboboxTheme} from '../components/Combobox.js';
|
|
8
|
+
import {type useComboboxOptionTheme} from '../components/ComboboxOption.js';
|
|
9
|
+
import {type useContainerTheme} from '../components/Container.js';
|
|
10
|
+
import {type useDescriptionTheme} from '../components/Description.js';
|
|
11
|
+
import {type useDialogTheme} from '../components/Dialog.js';
|
|
12
|
+
import {type useDialogPanelTheme} from '../components/DialogPanel.js';
|
|
13
|
+
import {type useDialogTitleTheme} from '../components/DialogTitle.js';
|
|
14
|
+
import {type useErrorTheme} from '../components/Error.js';
|
|
15
|
+
import {type useFieldTheme} from '../components/Field.js';
|
|
16
|
+
import {type useFieldsetTheme} from '../components/Fieldset.js';
|
|
17
|
+
import {type useFormTheme} from '../components/Form.js';
|
|
18
|
+
import {type useIconTheme} from '../components/Icon.js';
|
|
19
|
+
import {type useInputTheme} from '../components/Input.js';
|
|
20
|
+
import {type useLabelTheme} from '../components/Label.js';
|
|
21
|
+
import {type useLegendTheme} from '../components/Legend.js';
|
|
22
|
+
import {type useListboxTheme} from '../components/Listbox.js';
|
|
23
|
+
import {type useListboxOptionTheme} from '../components/ListboxOption.js';
|
|
24
|
+
import {type useMenuTheme} from '../components/Menu.js';
|
|
25
|
+
import {type useMenuButtonTheme} from '../components/MenuButton.js';
|
|
26
|
+
import {type useMenuHeadingTheme} from '../components/MenuHeading.js';
|
|
27
|
+
import {type useMenuItemTheme} from '../components/MenuItem.js';
|
|
28
|
+
import {type useMenuItemsTheme} from '../components/MenuItems.js';
|
|
29
|
+
import {type useMenuSectionTheme} from '../components/MenuSection.js';
|
|
30
|
+
import {type useMenuSeparatorTheme} from '../components/MenuSeparator.js';
|
|
31
|
+
import {type usePopoverTheme} from '../components/Popover.js';
|
|
32
|
+
import {type usePopoverBackdropTheme} from '../components/PopoverBackdrop.js';
|
|
33
|
+
import {type usePopoverButtonTheme} from '../components/PopoverButton.js';
|
|
34
|
+
import {type usePopoverGroupTheme} from '../components/PopoverGroup.js';
|
|
35
|
+
import {type usePopoverPanelTheme} from '../components/PopoverPanel.js';
|
|
36
|
+
import {type useRadioTheme} from '../components/Radio.js';
|
|
37
|
+
import {type useRadioFieldTheme} from '../components/RadioField.js';
|
|
38
|
+
import {type useRadioGroupTheme} from '../components/RadioGroup.js';
|
|
39
|
+
import {type useSpinnerTheme} from '../components/Spinner.js';
|
|
40
|
+
import {type useTableTheme} from '../components/Table.js';
|
|
41
|
+
import {type useTableBodyTheme} from '../components/TableBody.js';
|
|
42
|
+
import {type useTableCaptionTheme} from '../components/TableCaption.js';
|
|
43
|
+
import {type useTableCellTheme} from '../components/TableCell.js';
|
|
44
|
+
import {type useTableFootTheme} from '../components/TableFoot.js';
|
|
45
|
+
import {type useTableHeadTheme} from '../components/TableHead.js';
|
|
46
|
+
import {type useTableHeaderTheme} from '../components/TableHeader.js';
|
|
47
|
+
import {type useTableRowTheme} from '../components/TableRow.js';
|
|
48
|
+
import {type useTextTheme} from '../components/Text.js';
|
|
49
|
+
import {type useTextareaTheme} from '../components/Textarea.js';
|
|
50
|
+
import {type ClassName, type ComponentTheme} from './internals.js';
|
|
51
|
+
|
|
52
|
+
export type Theme = Simplify<
|
|
53
|
+
ComponentTheme<typeof useButtonTheme, {outputComponentName: true}> &
|
|
54
|
+
ComponentTheme<typeof useCardTheme, {outputComponentName: true}> &
|
|
55
|
+
ComponentTheme<typeof useCheckboxFieldTheme, {outputComponentName: true}> &
|
|
56
|
+
ComponentTheme<typeof useCheckboxTheme, {outputComponentName: true}> &
|
|
57
|
+
ComponentTheme<typeof useComboboxOptionTheme, {outputComponentName: true}> &
|
|
58
|
+
ComponentTheme<typeof useComboboxTheme, {outputComponentName: true}> &
|
|
59
|
+
ComponentTheme<typeof useContainerTheme, {outputComponentName: true}> &
|
|
60
|
+
ComponentTheme<typeof useDescriptionTheme, {outputComponentName: true}> &
|
|
61
|
+
ComponentTheme<typeof useDialogPanelTheme, {outputComponentName: true}> &
|
|
62
|
+
ComponentTheme<typeof useDialogTheme, {outputComponentName: true}> &
|
|
63
|
+
ComponentTheme<typeof useDialogTitleTheme, {outputComponentName: true}> &
|
|
64
|
+
ComponentTheme<typeof useErrorTheme, {outputComponentName: true}> &
|
|
65
|
+
ComponentTheme<typeof useFieldsetTheme, {outputComponentName: true}> &
|
|
66
|
+
ComponentTheme<typeof useFieldTheme, {outputComponentName: true}> &
|
|
67
|
+
ComponentTheme<typeof useFormTheme, {outputComponentName: true}> &
|
|
68
|
+
ComponentTheme<typeof useIconTheme, {outputComponentName: true}> &
|
|
69
|
+
ComponentTheme<typeof useInputTheme, {outputComponentName: true}> &
|
|
70
|
+
ComponentTheme<typeof useLabelTheme, {outputComponentName: true}> &
|
|
71
|
+
ComponentTheme<typeof useLegendTheme, {outputComponentName: true}> &
|
|
72
|
+
ComponentTheme<typeof useListboxOptionTheme, {outputComponentName: true}> &
|
|
73
|
+
ComponentTheme<typeof useListboxTheme, {outputComponentName: true}> &
|
|
74
|
+
ComponentTheme<typeof useMenuButtonTheme, {outputComponentName: true}> &
|
|
75
|
+
ComponentTheme<typeof useMenuHeadingTheme, {outputComponentName: true}> &
|
|
76
|
+
ComponentTheme<typeof useMenuItemsTheme, {outputComponentName: true}> &
|
|
77
|
+
ComponentTheme<typeof useMenuItemTheme, {outputComponentName: true}> &
|
|
78
|
+
ComponentTheme<typeof useMenuSectionTheme, {outputComponentName: true}> &
|
|
79
|
+
ComponentTheme<typeof useMenuSeparatorTheme, {outputComponentName: true}> &
|
|
80
|
+
ComponentTheme<typeof useMenuTheme, {outputComponentName: true}> &
|
|
81
|
+
ComponentTheme<typeof usePopoverBackdropTheme, {outputComponentName: true}> &
|
|
82
|
+
ComponentTheme<typeof usePopoverButtonTheme, {outputComponentName: true}> &
|
|
83
|
+
ComponentTheme<typeof usePopoverGroupTheme, {outputComponentName: true}> &
|
|
84
|
+
ComponentTheme<typeof usePopoverPanelTheme, {outputComponentName: true}> &
|
|
85
|
+
ComponentTheme<typeof usePopoverTheme, {outputComponentName: true}> &
|
|
86
|
+
ComponentTheme<typeof useRadioFieldTheme, {outputComponentName: true}> &
|
|
87
|
+
ComponentTheme<typeof useRadioGroupTheme, {outputComponentName: true}> &
|
|
88
|
+
ComponentTheme<typeof useRadioTheme, {outputComponentName: true}> &
|
|
89
|
+
ComponentTheme<typeof useSpinnerTheme, {outputComponentName: true}> &
|
|
90
|
+
ComponentTheme<typeof useTableBodyTheme, {outputComponentName: true}> &
|
|
91
|
+
ComponentTheme<typeof useTableCaptionTheme, {outputComponentName: true}> &
|
|
92
|
+
ComponentTheme<typeof useTableCellTheme, {outputComponentName: true}> &
|
|
93
|
+
ComponentTheme<typeof useTableFootTheme, {outputComponentName: true}> &
|
|
94
|
+
ComponentTheme<typeof useTableHeaderTheme, {outputComponentName: true}> &
|
|
95
|
+
ComponentTheme<typeof useTableHeadTheme, {outputComponentName: true}> &
|
|
96
|
+
ComponentTheme<typeof useTableRowTheme, {outputComponentName: true}> &
|
|
97
|
+
ComponentTheme<typeof useTableTheme, {outputComponentName: true}> &
|
|
98
|
+
ComponentTheme<typeof useTextareaTheme, {outputComponentName: true}> &
|
|
99
|
+
ComponentTheme<typeof useTextTheme, {outputComponentName: true}> & {
|
|
100
|
+
merge: (...rest: ClassName[]) => string;
|
|
101
|
+
}
|
|
102
|
+
>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {type PropsWithChildren} from 'react';
|
|
2
|
+
|
|
3
|
+
import {themeContext} from './internals.js';
|
|
4
|
+
import {type Theme} from './Theme.js';
|
|
5
|
+
|
|
6
|
+
export type ThemeProviderProps = {
|
|
7
|
+
theme: Theme;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function ThemeProvider({children, theme}: PropsWithChildren<ThemeProviderProps>) {
|
|
11
|
+
return <themeContext.Provider value={theme}>{children}</themeContext.Provider>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buttonTheme,
|
|
3
|
+
cardTheme,
|
|
4
|
+
checkboxFieldTheme,
|
|
5
|
+
checkboxTheme,
|
|
6
|
+
comboboxOptionTheme,
|
|
7
|
+
comboboxTheme,
|
|
8
|
+
containerTheme,
|
|
9
|
+
descriptionTheme,
|
|
10
|
+
dialogPanelTheme,
|
|
11
|
+
dialogTheme,
|
|
12
|
+
dialogTitleTheme,
|
|
13
|
+
errorTheme,
|
|
14
|
+
fieldsetnTheme,
|
|
15
|
+
fieldTheme,
|
|
16
|
+
formTheme,
|
|
17
|
+
iconTheme,
|
|
18
|
+
inputTheme,
|
|
19
|
+
labelTheme,
|
|
20
|
+
legendTheme,
|
|
21
|
+
listboxOptionTheme,
|
|
22
|
+
listboxTheme,
|
|
23
|
+
menuButtonTheme,
|
|
24
|
+
menuHeadingTheme,
|
|
25
|
+
menuItemsTheme,
|
|
26
|
+
menuItemTheme,
|
|
27
|
+
menuSectionTheme,
|
|
28
|
+
menuSeparatorTheme,
|
|
29
|
+
menuTheme,
|
|
30
|
+
popoverBackdropTheme,
|
|
31
|
+
popoverButtonTheme,
|
|
32
|
+
popoverGroupTheme,
|
|
33
|
+
popoverPanelTheme,
|
|
34
|
+
popoverTheme,
|
|
35
|
+
radioFieldTheme,
|
|
36
|
+
radioGroupTheme,
|
|
37
|
+
radioTheme,
|
|
38
|
+
spinnerTheme,
|
|
39
|
+
tableBodyTheme,
|
|
40
|
+
tableCaptionTheme,
|
|
41
|
+
tableCellTheme,
|
|
42
|
+
tableFootTheme,
|
|
43
|
+
tableHeaderTheme,
|
|
44
|
+
tableHeadTheme,
|
|
45
|
+
tableRowTheme,
|
|
46
|
+
tableTheme,
|
|
47
|
+
textareaTheme,
|
|
48
|
+
textTheme,
|
|
49
|
+
} from '../components.js';
|
|
50
|
+
import {createTailwindConfig, createTailwindMerge} from '../development.js';
|
|
51
|
+
import {type Theme} from './Theme.js';
|
|
52
|
+
|
|
53
|
+
export const defaultTheme: Theme = {
|
|
54
|
+
Button: buttonTheme,
|
|
55
|
+
Card: cardTheme,
|
|
56
|
+
Checkbox: checkboxTheme,
|
|
57
|
+
CheckboxField: checkboxFieldTheme,
|
|
58
|
+
Combobox: comboboxTheme,
|
|
59
|
+
ComboboxOption: comboboxOptionTheme,
|
|
60
|
+
Container: containerTheme,
|
|
61
|
+
Description: descriptionTheme,
|
|
62
|
+
Dialog: dialogTheme,
|
|
63
|
+
DialogPanel: dialogPanelTheme,
|
|
64
|
+
DialogTitle: dialogTitleTheme,
|
|
65
|
+
Error: errorTheme,
|
|
66
|
+
Field: fieldTheme,
|
|
67
|
+
Fieldset: fieldsetnTheme,
|
|
68
|
+
Form: formTheme,
|
|
69
|
+
Icon: iconTheme,
|
|
70
|
+
Input: inputTheme,
|
|
71
|
+
Label: labelTheme,
|
|
72
|
+
Legend: legendTheme,
|
|
73
|
+
Listbox: listboxTheme,
|
|
74
|
+
ListboxOption: listboxOptionTheme,
|
|
75
|
+
Menu: menuTheme,
|
|
76
|
+
MenuButton: menuButtonTheme,
|
|
77
|
+
MenuHeading: menuHeadingTheme,
|
|
78
|
+
MenuItem: menuItemTheme,
|
|
79
|
+
MenuItems: menuItemsTheme,
|
|
80
|
+
MenuSection: menuSectionTheme,
|
|
81
|
+
MenuSeparator: menuSeparatorTheme,
|
|
82
|
+
Popover: popoverTheme,
|
|
83
|
+
PopoverBackdrop: popoverBackdropTheme,
|
|
84
|
+
PopoverButton: popoverButtonTheme,
|
|
85
|
+
PopoverGroup: popoverGroupTheme,
|
|
86
|
+
PopoverPanel: popoverPanelTheme,
|
|
87
|
+
Radio: radioTheme,
|
|
88
|
+
RadioField: radioFieldTheme,
|
|
89
|
+
RadioGroup: radioGroupTheme,
|
|
90
|
+
Spinner: spinnerTheme,
|
|
91
|
+
Table: tableTheme,
|
|
92
|
+
TableBody: tableBodyTheme,
|
|
93
|
+
TableCaption: tableCaptionTheme,
|
|
94
|
+
TableCell: tableCellTheme,
|
|
95
|
+
TableFoot: tableFootTheme,
|
|
96
|
+
TableHead: tableHeadTheme,
|
|
97
|
+
TableHeader: tableHeaderTheme,
|
|
98
|
+
TableRow: tableRowTheme,
|
|
99
|
+
Text: textTheme,
|
|
100
|
+
Textarea: textareaTheme,
|
|
101
|
+
|
|
102
|
+
merge: createTailwindMerge(createTailwindConfig()),
|
|
103
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ClassName = ClassName[] | string | 0 | false | null | undefined;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {type Writable} from '@jakubmazanec/ts-utils';
|
|
2
|
+
|
|
3
|
+
import {type ComponentThemeDefinition} from './ComponentThemeDefinition.js';
|
|
4
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
5
|
+
import {type ComponentThemeProps} from './ComponentThemeProps.js';
|
|
6
|
+
|
|
7
|
+
// extracts props for component that uses created useTheme hook
|
|
8
|
+
export type ComponentProps<U extends {themeDefinition: ComponentThemeDefinition | undefined}> =
|
|
9
|
+
U['themeDefinition'] extends ComponentThemeDefinition ?
|
|
10
|
+
U['themeDefinition']['variants'] extends ComponentThemeDefinitionVariants ?
|
|
11
|
+
Partial<Writable<ComponentThemeProps<U['themeDefinition']>>>
|
|
12
|
+
: NonNullable<unknown>
|
|
13
|
+
: NonNullable<unknown>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {type ClassName} from './ClassName.js';
|
|
2
|
+
import {type ComponentThemeCompoundVariants} from './ComponentThemeCompoundVariants.js';
|
|
3
|
+
import {type ComponentThemeDefinition} from './ComponentThemeDefinition.js';
|
|
4
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
5
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
6
|
+
import {type ComponentThemeVariants} from './ComponentThemeVariants.js';
|
|
7
|
+
import {type ComponentWithTheme} from './ComponentWithTheme.js';
|
|
8
|
+
|
|
9
|
+
export type ComponentThemeOptions = {
|
|
10
|
+
outputComponentName: boolean;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
type ComponentThemeFromDefinition<D extends ComponentThemeDefinition | undefined> =
|
|
14
|
+
D extends ComponentThemeDefinition ?
|
|
15
|
+
D['elements'] extends ComponentThemeDefinitionElements ?
|
|
16
|
+
D['variants'] extends ComponentThemeDefinitionVariants ?
|
|
17
|
+
{
|
|
18
|
+
classNames?: {
|
|
19
|
+
[K in D['elements'][number]]: ClassName;
|
|
20
|
+
};
|
|
21
|
+
variants: ComponentThemeVariants<D['variants'], D['elements']>;
|
|
22
|
+
compoundVariants?: ComponentThemeCompoundVariants<D['variants'], D['elements']>;
|
|
23
|
+
}
|
|
24
|
+
: {
|
|
25
|
+
classNames: {
|
|
26
|
+
[K in D['elements'][number]]: ClassName;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
: D['variants'] extends ComponentThemeDefinitionVariants ?
|
|
30
|
+
{
|
|
31
|
+
className?: ClassName;
|
|
32
|
+
variants: ComponentThemeVariants<D['variants'], undefined>;
|
|
33
|
+
compoundVariants?: ComponentThemeCompoundVariants<D['variants'], undefined>;
|
|
34
|
+
}
|
|
35
|
+
: {className: ClassName}
|
|
36
|
+
: {
|
|
37
|
+
className: ClassName;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export type ComponentTheme<
|
|
41
|
+
D extends ComponentThemeDefinition | ComponentWithTheme | undefined,
|
|
42
|
+
O extends ComponentThemeOptions = {outputComponentName: false},
|
|
43
|
+
> =
|
|
44
|
+
O['outputComponentName'] extends true ?
|
|
45
|
+
D extends ComponentWithTheme ?
|
|
46
|
+
{[K in D['componentThemeName']]: ComponentThemeFromDefinition<D['themeDefinition']>}
|
|
47
|
+
: never
|
|
48
|
+
: D extends ComponentThemeDefinition ? ComponentThemeFromDefinition<D>
|
|
49
|
+
: D extends ComponentWithTheme ? ComponentThemeFromDefinition<D['themeDefinition']>
|
|
50
|
+
: ComponentThemeFromDefinition<undefined>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {type ClassName} from './ClassName.js';
|
|
2
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
3
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
4
|
+
|
|
5
|
+
export type ComponentThemeCompoundVariants<
|
|
6
|
+
V extends ComponentThemeDefinitionVariants,
|
|
7
|
+
E extends ComponentThemeDefinitionElements | undefined,
|
|
8
|
+
> = Array<
|
|
9
|
+
(E extends ComponentThemeDefinitionElements ?
|
|
10
|
+
{
|
|
11
|
+
classNames: {
|
|
12
|
+
[K in E[number]]: ClassName;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
: {
|
|
16
|
+
className: ClassName;
|
|
17
|
+
}) & {
|
|
18
|
+
[K in keyof V]?: Array<V[K][number]> | V[K][number];
|
|
19
|
+
}
|
|
20
|
+
>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
2
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
3
|
+
|
|
4
|
+
export type ComponentThemeDefinition = {
|
|
5
|
+
variants?: ComponentThemeDefinitionVariants;
|
|
6
|
+
elements?: ComponentThemeDefinitionElements;
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ComponentThemeDefinitionElements = string[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {type ComponentThemeDefinition} from './ComponentThemeDefinition.js';
|
|
2
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
3
|
+
|
|
4
|
+
export type ComponentThemeProps<D extends ComponentThemeDefinition | undefined> =
|
|
5
|
+
D extends ComponentThemeDefinition ?
|
|
6
|
+
D['variants'] extends ComponentThemeDefinitionVariants ?
|
|
7
|
+
{
|
|
8
|
+
[J in keyof D['variants']]: D['variants'][J][number];
|
|
9
|
+
}
|
|
10
|
+
: NonNullable<unknown>
|
|
11
|
+
: NonNullable<unknown>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {type ClassName} from './ClassName.js';
|
|
2
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
3
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
4
|
+
|
|
5
|
+
export type ComponentThemeVariants<
|
|
6
|
+
V extends ComponentThemeDefinitionVariants,
|
|
7
|
+
E extends ComponentThemeDefinitionElements | undefined,
|
|
8
|
+
> = {
|
|
9
|
+
[J in keyof V]: V[J] extends string[] ?
|
|
10
|
+
{
|
|
11
|
+
[K in V[J][number]]: E extends ComponentThemeDefinitionElements ?
|
|
12
|
+
{
|
|
13
|
+
[L in E[number]]: ClassName;
|
|
14
|
+
}
|
|
15
|
+
: ClassName;
|
|
16
|
+
}
|
|
17
|
+
: {
|
|
18
|
+
[K in 'false' | 'true']: E extends ComponentThemeDefinitionElements ?
|
|
19
|
+
{
|
|
20
|
+
[L in E[number]]: ClassName;
|
|
21
|
+
}
|
|
22
|
+
: ClassName;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {type ComponentThemeDefinition} from './ComponentThemeDefinition.js';
|
|
2
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
3
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
4
|
+
import {type ComponentThemeProps} from './ComponentThemeProps.js';
|
|
5
|
+
import {type UseComponentThemeReturn} from './UseComponentThemeReturn.js';
|
|
6
|
+
|
|
7
|
+
export type UseComponentTheme<N extends string, D extends ComponentThemeDefinition | undefined> =
|
|
8
|
+
D extends ComponentThemeDefinition ?
|
|
9
|
+
D['variants'] extends ComponentThemeDefinitionVariants ?
|
|
10
|
+
D['elements'] extends ComponentThemeDefinitionElements ?
|
|
11
|
+
((themeProps: ComponentThemeProps<D>) => UseComponentThemeReturn<D>) & {
|
|
12
|
+
componentThemeName: N;
|
|
13
|
+
themeDefinition: D;
|
|
14
|
+
}
|
|
15
|
+
: ((themeProps: ComponentThemeProps<D>) => UseComponentThemeReturn<D>) & {
|
|
16
|
+
componentThemeName: N;
|
|
17
|
+
themeDefinition: D;
|
|
18
|
+
}
|
|
19
|
+
: D['elements'] extends ComponentThemeDefinitionElements ?
|
|
20
|
+
(() => UseComponentThemeReturn<D>) & {componentThemeName: N; themeDefinition: D}
|
|
21
|
+
: (() => UseComponentThemeReturn<D>) & {componentThemeName: N; themeDefinition: D}
|
|
22
|
+
: (() => UseComponentThemeReturn<D>) & {componentThemeName: N; themeDefinition: D};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {type ClassName} from './ClassName.js';
|
|
2
|
+
import {type ComponentThemeDefinition} from './ComponentThemeDefinition.js';
|
|
3
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
4
|
+
|
|
5
|
+
export type UseComponentThemeReturn<D extends ComponentThemeDefinition | undefined> =
|
|
6
|
+
D extends ComponentThemeDefinition ?
|
|
7
|
+
D['elements'] extends ComponentThemeDefinitionElements ?
|
|
8
|
+
{
|
|
9
|
+
[K in D['elements'][number]]: (
|
|
10
|
+
baseClassName?: ClassName,
|
|
11
|
+
overrideClassName?: ClassName,
|
|
12
|
+
) => string;
|
|
13
|
+
}
|
|
14
|
+
: (baseClassName?: ClassName, overrideClassName?: ClassName) => string
|
|
15
|
+
: (baseClassName?: ClassName, overrideClassName?: ClassName) => string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {useContext} from 'react';
|
|
2
|
+
|
|
3
|
+
import {type Theme} from '../Theme.js';
|
|
4
|
+
import {type ClassName} from './ClassName.js';
|
|
5
|
+
import {type ComponentTheme} from './ComponentTheme.js';
|
|
6
|
+
import {type ComponentThemeDefinition} from './ComponentThemeDefinition.js';
|
|
7
|
+
import {type ComponentThemeDefinitionElements} from './ComponentThemeDefinitionElements.js';
|
|
8
|
+
import {type ComponentThemeDefinitionVariants} from './ComponentThemeDefinitionVariants.js';
|
|
9
|
+
import {type ComponentThemeProps} from './ComponentThemeProps.js';
|
|
10
|
+
import {createUseComponentThemeReturn} from './createUseComponentThemeReturn.js';
|
|
11
|
+
import {themeContext} from './themeContext.js';
|
|
12
|
+
import {type UseComponentTheme} from './UseComponentTheme.js';
|
|
13
|
+
|
|
14
|
+
export function createComponentTheme<
|
|
15
|
+
const N extends string,
|
|
16
|
+
const D extends ComponentThemeDefinition | undefined = undefined,
|
|
17
|
+
>(themeName: N, themeDefinition?: NonNullable<D>): UseComponentTheme<N, D> {
|
|
18
|
+
let useComponentTheme = (themeProps?: ComponentThemeProps<D>) => {
|
|
19
|
+
let theme = useContext(themeContext);
|
|
20
|
+
|
|
21
|
+
if (!theme) {
|
|
22
|
+
throw new Error('No theme was found!');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let cx = theme.merge;
|
|
26
|
+
let componentTheme = theme[themeName as keyof Theme] as unknown as
|
|
27
|
+
| ComponentTheme<{
|
|
28
|
+
variants: ComponentThemeDefinitionVariants;
|
|
29
|
+
elements: ComponentThemeDefinitionElements;
|
|
30
|
+
}>
|
|
31
|
+
| ComponentTheme<{variants: ComponentThemeDefinitionVariants}>
|
|
32
|
+
| undefined;
|
|
33
|
+
|
|
34
|
+
if (!componentTheme) {
|
|
35
|
+
throw new Error(`Theme for component "${themeName}" wasn't found!`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
let hasElements = Boolean(themeDefinition?.elements);
|
|
39
|
+
|
|
40
|
+
if (!hasElements) {
|
|
41
|
+
return createUseComponentThemeReturn(
|
|
42
|
+
componentTheme as
|
|
43
|
+
| ComponentTheme<{variants: ComponentThemeDefinitionVariants}>
|
|
44
|
+
| ComponentTheme<undefined>,
|
|
45
|
+
cx,
|
|
46
|
+
themeProps,
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
let getClassNames: Record<string, (...args: ClassName[]) => string> = {};
|
|
51
|
+
|
|
52
|
+
for (let element of themeDefinition?.elements ?? []) {
|
|
53
|
+
getClassNames[element] = createUseComponentThemeReturn(
|
|
54
|
+
componentTheme as
|
|
55
|
+
| ComponentTheme<{variants: ComponentThemeDefinitionVariants}>
|
|
56
|
+
| ComponentTheme<undefined>,
|
|
57
|
+
cx,
|
|
58
|
+
themeProps,
|
|
59
|
+
element,
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return getClassNames;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
(useComponentTheme as UseComponentTheme<N, D>).themeDefinition = themeDefinition;
|
|
67
|
+
(useComponentTheme as UseComponentTheme<N, D>).componentThemeName = themeName;
|
|
68
|
+
|
|
69
|
+
return useComponentTheme as UseComponentTheme<N, D>;
|
|
70
|
+
}
|