@useblu/ocean-components
Advanced tools
Comparing version 0.2.3 to 0.2.4
@@ -6,2 +6,6 @@ # Change Log | ||
## [0.2.4](https://github.com/Pagnet/ocean-ds-web/compare/v0.2.3...v0.2.4) (2021-03-08) | ||
**Note:** Version bump only for package @useblu/ocean-components | ||
## [0.2.3](https://github.com/Pagnet/ocean-ds-web/compare/v0.2.2...v0.2.3) (2021-03-08) | ||
@@ -8,0 +12,0 @@ |
@@ -1,7 +0,3 @@ | ||
/** | ||
* Joins strings to format IDs for compound components. | ||
* | ||
* @param args | ||
*/ | ||
declare const makeId: (...args: (string | number | null | undefined)[]) => string; | ||
export default makeId; | ||
//# sourceMappingURL=makeId.d.ts.map |
/// <reference types="react" /> | ||
/** | ||
* A generic type that receives two arguments: the name of the element, and an object with custom properties. | ||
*/ | ||
export declare type MergeElementProps<T extends React.ElementType, P extends Record<string, unknown>> = Omit<React.ComponentPropsWithRef<T>, keyof P> & P; | ||
//# sourceMappingURL=type.d.ts.map |
@@ -5,22 +5,6 @@ import React from 'react'; | ||
declare type ButtonProps<P extends React.ElementType = 'button'> = { | ||
/** | ||
* The component used for the root node. Either a string to use a HTML element or a component. | ||
* @default 'button' | ||
*/ | ||
component?: P; | ||
} & MergeElementProps<P, { | ||
/** | ||
* The variant to use. | ||
* @default 'primary' | ||
*/ | ||
variant?: 'primary' | 'secondary' | 'text' | 'inverse'; | ||
/** | ||
* The size of the button. | ||
* @default 'md' | ||
*/ | ||
size?: 'sm' | 'md' | 'lg'; | ||
/** | ||
* Spans the full width of the Button parent. | ||
* @default false | ||
*/ | ||
blocked?: boolean; | ||
@@ -31,1 +15,2 @@ }>; | ||
export default Button; | ||
//# sourceMappingURL=Button.d.ts.map |
export { default } from './Button'; | ||
//# sourceMappingURL=index.d.ts.map |
import React from 'react'; | ||
import './styles/checkbox.scss'; | ||
declare const Checkbox: React.ForwardRefExoticComponent<{ | ||
/** | ||
* The label content. | ||
*/ | ||
label?: React.ReactNode; | ||
} & Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>; | ||
export default Checkbox; | ||
//# sourceMappingURL=Checkbox.d.ts.map |
export { default } from './Checkbox'; | ||
//# sourceMappingURL=index.d.ts.map |
import React from 'react'; | ||
import './styles/form-control.scss'; | ||
export declare type FormControlProps = { | ||
/** | ||
* A single child content element. | ||
*/ | ||
children: React.ReactElement; | ||
/** | ||
* The label content. | ||
*/ | ||
label?: string | React.ReactNode; | ||
/** | ||
* Specifies which form element a label is bound to. | ||
*/ | ||
htmlFor?: string; | ||
/** | ||
* If `true`, the label will be displayed in an error state. | ||
* @default false | ||
*/ | ||
error?: boolean; | ||
/** | ||
* The helper text content. | ||
*/ | ||
helperText?: string; | ||
/** | ||
* Spans the full width of the element parent. | ||
* @default false | ||
*/ | ||
blocked?: boolean; | ||
/** | ||
* If true, should be displayed in a disabled state. | ||
* @default false | ||
*/ | ||
disabled?: boolean; | ||
@@ -38,1 +14,2 @@ }; | ||
export default FormControl; | ||
//# sourceMappingURL=FormControl.d.ts.map |
export * from './FormControl'; | ||
export { default } from './FormControl'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,12 +5,4 @@ import React from 'react'; | ||
export declare type FormLabelProps<P extends React.ElementType = 'label'> = { | ||
/** | ||
* The component used for the root node. Either a string to use a HTML element or a component. | ||
* @default 'label' | ||
*/ | ||
component?: P; | ||
} & MergeElementProps<P, { | ||
/** | ||
* If true, the label should be displayed in a disabled state. | ||
* @default false | ||
*/ | ||
disabled?: boolean; | ||
@@ -21,1 +13,2 @@ }>; | ||
export default FormLabel; | ||
//# sourceMappingURL=FormLabel.d.ts.map |
export { default } from './FormLabel'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -10,23 +10,9 @@ import React from 'react'; | ||
declare const Col: React.ForwardRefExoticComponent<{ | ||
/** | ||
* The number of columns to span on extra small devices (<576px) | ||
*/ | ||
xs?: ColSpec | undefined; | ||
/** | ||
* The number of columns to span on small devices (≥576px) | ||
*/ | ||
sm?: ColSpec | undefined; | ||
/** | ||
* The number of columns to span on medium devices (≥768px) | ||
*/ | ||
md?: ColSpec | undefined; | ||
/** | ||
* The number of columns to span on large devices (≥992px) | ||
*/ | ||
lg?: ColSpec | undefined; | ||
/** | ||
* The number of columns to span on extra large devices (≥1200px) | ||
*/ | ||
xl?: ColSpec | undefined; | ||
} & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>>; | ||
export default Col; | ||
//# sourceMappingURL=Col.d.ts.map |
import React from 'react'; | ||
import './styles/container.scss'; | ||
declare const Container: React.ForwardRefExoticComponent<{ | ||
/** | ||
* Allow the Container to fill all of its available horizontal space. | ||
* @default false | ||
*/ | ||
fluid?: boolean | "sm" | "md" | "lg" | "xl" | undefined; | ||
} & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>>; | ||
export default Container; | ||
//# sourceMappingURL=Container.d.ts.map |
@@ -42,1 +42,2 @@ /// <reference types="react" /> | ||
export default _default; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,28 +5,10 @@ import React from 'react'; | ||
declare const Row: React.ForwardRefExoticComponent<{ | ||
/** | ||
* Removes the gutter spacing between `Col`s as well as any added negative margins. | ||
* @default false | ||
*/ | ||
noGutters?: boolean | undefined; | ||
/** | ||
* The number of columns that will fit next to each other on extra small devices (<576px). | ||
*/ | ||
xs?: RowColWidth | undefined; | ||
/** | ||
* The number of columns that will fit next to each other on small devices (≥576px). | ||
*/ | ||
sm?: RowColWidth | undefined; | ||
/** | ||
* The number of columns that will fit next to each other on medium devices (≥768px) | ||
*/ | ||
md?: RowColWidth | undefined; | ||
/** | ||
* The number of columns that will fit next to each other on large devices (≥992px) | ||
*/ | ||
lg?: RowColWidth | undefined; | ||
/** | ||
* The number of columns that will fit next to each other on extra large devices (≥1200px) | ||
*/ | ||
xl?: RowColWidth | undefined; | ||
} & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>>; | ||
export default Row; | ||
//# sourceMappingURL=Row.d.ts.map |
@@ -21,1 +21,2 @@ export { default as Typography } from './Typography'; | ||
export * from './Switch'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -171,3 +171,2 @@ import React, { useContext, useMemo, useRef, useEffect, useCallback, useLayoutEffect, useState } from 'react'; | ||
}); | ||
// plain 'ods-col' | ||
if (!hasAnySpan) | ||
@@ -271,3 +270,2 @@ classes.unshift(prefix); | ||
useEffect(function () { | ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
refListbox.current.focus(); | ||
@@ -461,7 +459,2 @@ }, []); | ||
/** | ||
* Joins strings to format IDs for compound components. | ||
* | ||
* @param args | ||
*/ | ||
var makeId = function () { | ||
@@ -581,3 +574,2 @@ var args = []; | ||
event.preventDefault(); | ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
refSelControl.current.focus(); | ||
@@ -590,6 +582,2 @@ setIsExpanded(false); | ||
}, [handleKeyDown, setIsExpanded]); | ||
// We close the popover on the next tick by using setTimeout. | ||
// This is necessary because we need to first check if | ||
// another child of the element has received focus as | ||
// the blur event fires prior to the new focus event. | ||
var onBlurHandler = function () { | ||
@@ -600,3 +588,2 @@ timeOutId.current = window.setTimeout(function () { | ||
}; | ||
// If a child receives focus, do not close the popover. | ||
var onFocusHandler = function () { | ||
@@ -603,0 +590,0 @@ clearTimeout(timeOutId.current); |
@@ -179,3 +179,2 @@ 'use strict'; | ||
}); | ||
// plain 'ods-col' | ||
if (!hasAnySpan) | ||
@@ -279,3 +278,2 @@ classes.unshift(prefix); | ||
React.useEffect(function () { | ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
refListbox.current.focus(); | ||
@@ -469,7 +467,2 @@ }, []); | ||
/** | ||
* Joins strings to format IDs for compound components. | ||
* | ||
* @param args | ||
*/ | ||
var makeId = function () { | ||
@@ -589,3 +582,2 @@ var args = []; | ||
event.preventDefault(); | ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
refSelControl.current.focus(); | ||
@@ -598,6 +590,2 @@ setIsExpanded(false); | ||
}, [handleKeyDown, setIsExpanded]); | ||
// We close the popover on the next tick by using setTimeout. | ||
// This is necessary because we need to first check if | ||
// another child of the element has received focus as | ||
// the blur event fires prior to the new focus event. | ||
var onBlurHandler = function () { | ||
@@ -608,3 +596,2 @@ timeOutId.current = window.setTimeout(function () { | ||
}; | ||
// If a child receives focus, do not close the popover. | ||
var onFocusHandler = function () { | ||
@@ -611,0 +598,0 @@ clearTimeout(timeOutId.current); |
export { default } from './Input'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,8 +5,5 @@ import React from 'react'; | ||
declare const Input: React.ForwardRefExoticComponent<{ | ||
/** | ||
* Type of the `input` element. | ||
* @default 'text' | ||
*/ | ||
type?: "number" | "text" | "email" | "password" | "search" | "tel" | "url" | undefined; | ||
} & Omit<FormControlProps, "children"> & Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>; | ||
export default Input; | ||
//# sourceMappingURL=Input.d.ts.map |
export { default } from './Link'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,12 +5,4 @@ import React from 'react'; | ||
declare type LinkProps<P extends React.ElementType = 'a'> = { | ||
/** | ||
* The component used for the root node. Either a string to use a HTML element or a component. | ||
* @default 'a' | ||
*/ | ||
component?: P; | ||
} & MergeElementProps<P, { | ||
/** | ||
* Use the inverse link on dark backgrounds. | ||
* @default 'false' | ||
*/ | ||
inverse?: boolean; | ||
@@ -21,1 +13,2 @@ }>; | ||
export default Link; | ||
//# sourceMappingURL=Link.d.ts.map |
export { default } from './Radio'; | ||
//# sourceMappingURL=index.d.ts.map |
import React from 'react'; | ||
import './styles/radio.scss'; | ||
declare const Radio: React.ForwardRefExoticComponent<{ | ||
/** | ||
* The label content. | ||
*/ | ||
label?: React.ReactNode; | ||
} & Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>; | ||
export default Radio; | ||
//# sourceMappingURL=Radio.d.ts.map |
@@ -11,1 +11,2 @@ import React from 'react'; | ||
export default _default; | ||
//# sourceMappingURL=context.d.ts.map |
import React from 'react'; | ||
declare const SelectControlled: React.FC; | ||
export default SelectControlled; | ||
//# sourceMappingURL=SelectControlled.d.ts.map |
export { default } from './Select'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -11,1 +11,2 @@ import React from 'react'; | ||
export default Listbox; | ||
//# sourceMappingURL=Listbox.d.ts.map |
@@ -6,1 +6,2 @@ import React from 'react'; | ||
export default Option; | ||
//# sourceMappingURL=Option.d.ts.map |
@@ -6,1 +6,2 @@ import React from 'react'; | ||
export default Select; | ||
//# sourceMappingURL=Select.d.ts.map |
@@ -10,37 +10,10 @@ import { FormControlProps } from '../FormControl'; | ||
export declare type SelectProps = { | ||
/** | ||
* The id of the select element. | ||
*/ | ||
id?: string; | ||
/** | ||
* Placeholder of select. | ||
*/ | ||
placeholder?: string; | ||
/** | ||
* Array of options that populate the select menu. | ||
*/ | ||
options: OptionType[]; | ||
/** | ||
* Current selected option. Use when the component is controlled. | ||
*/ | ||
value?: RawValueType; | ||
/** | ||
* The default selected option. Use when the component is not controlled. | ||
*/ | ||
defaultValue?: RawValueType; | ||
/** | ||
* Name of the HTML Input (optional - without this, no input will be rendered) | ||
*/ | ||
name?: string; | ||
/** | ||
* The aria-label of the select element. | ||
*/ | ||
ariaLabel?: string; | ||
/** | ||
* Callback function fired when an option is selected. | ||
*/ | ||
onChange?: (newValue: OptionType) => void; | ||
/** | ||
* The additional class to select. | ||
*/ | ||
className?: string; | ||
@@ -54,1 +27,2 @@ [propName: string]: unknown; | ||
export {}; | ||
//# sourceMappingURL=types.d.ts.map |
@@ -17,1 +17,2 @@ /// <reference types="react" /> | ||
export default useSelect; | ||
//# sourceMappingURL=useSelect.d.ts.map |
export { default } from './Switch'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,1 +5,2 @@ import React from 'react'; | ||
export default Switch; | ||
//# sourceMappingURL=Switch.d.ts.map |
export { default } from './TextArea'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -6,1 +6,2 @@ import React from 'react'; | ||
export default TextArea; | ||
//# sourceMappingURL=TextArea.d.ts.map |
export { default } from './Typography'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -6,31 +6,12 @@ import React from 'react'; | ||
export declare type TypographyProps = { | ||
/** | ||
* Applies the theme typography styles. | ||
*/ | ||
variant: Variant; | ||
/** | ||
* Use the inverse typography on dark backgrounds. | ||
* @default 'false' | ||
*/ | ||
inverse?: boolean; | ||
/** | ||
* The content of the component. | ||
*/ | ||
children: React.ReactNode; | ||
} & React.ComponentPropsWithoutRef<'span'>; | ||
declare const Typography: React.ForwardRefExoticComponent<{ | ||
/** | ||
* Applies the theme typography styles. | ||
*/ | ||
variant: Variant; | ||
/** | ||
* Use the inverse typography on dark backgrounds. | ||
* @default 'false' | ||
*/ | ||
inverse?: boolean | undefined; | ||
/** | ||
* The content of the component. | ||
*/ | ||
children: React.ReactNode; | ||
} & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & React.RefAttributes<unknown>>; | ||
export default Typography; | ||
//# sourceMappingURL=Typography.d.ts.map |
{ | ||
"name": "@useblu/ocean-components", | ||
"version": "0.2.3", | ||
"version": "0.2.4", | ||
"description": "React components that implement Ocean's Design System.", | ||
@@ -47,3 +47,3 @@ "main": "dist/index.js", | ||
}, | ||
"gitHead": "10f9f494fc05099381e82685bb70e9b379a21f99" | ||
"gitHead": "80ebd8cca9b5dfcd29a712d73a1b89d67c19b59f" | ||
} |
# @useblu/ocean-components | ||
<a href="https://npmjs.org/package/@useblu/ocean-components"><img alt="NPM version" src="https://img.shields.io/npm/v/@useblu/ocean-components" /></a> <img alt="npm bundle size (scoped)" src="https://img.shields.io/bundlephobia/min/@useblu/ocean-components"> | ||
> React components that implement Ocean's Design System. | ||
@@ -37,8 +39,4 @@ | ||
## Contributing | ||
Please see our [contributing.md](/contributing.md). | ||
## License | ||
Licensed under the [GPL-3.0 license](LICENSE). | ||
Licensed under the **GPL-3.0 license**. |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
329612
79
1425
42