@luscii-healthtech/web-ui 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Form/Form.d.ts +9 -0
- package/dist/components/Form/FormFieldDecorator.d.ts +8 -0
- package/dist/components/Form/FormInput.d.ts +3 -0
- package/dist/components/Form/FormRadioGroup.d.ts +3 -0
- package/dist/components/Form/FormSelect.d.ts +3 -0
- package/dist/components/Form/form.transformer.d.ts +20 -0
- package/dist/components/Form/form.types.d.ts +54 -0
- package/dist/components/Input/Input.d.ts +8 -7
- package/dist/components/Input/SearchInput.d.ts +1 -1
- package/dist/components/Radio/Radio.d.ts +3 -0
- package/dist/components/Radio/RadioV2.d.ts +17 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/dist/components/RadioGroup/RadioGroupV2.d.ts +9 -0
- package/dist/components/Select/Select.d.ts +3 -0
- package/dist/components/Select/SelectV2.d.ts +31 -0
- package/dist/index.d.ts +2 -0
- package/dist/web-ui-tailwind.css +34 -0
- package/dist/web-ui.cjs.development.js +510 -17
- package/dist/web-ui.cjs.development.js.map +1 -1
- package/dist/web-ui.cjs.production.min.js +1 -1
- package/dist/web-ui.cjs.production.min.js.map +1 -1
- package/dist/web-ui.esm.js +510 -18
- package/dist/web-ui.esm.js.map +1 -1
- package/package.json +6 -3
- package/src/components/Form/Form.tsx +106 -0
- package/src/components/Form/FormFieldDecorator.tsx +66 -0
- package/src/components/Form/FormInput.tsx +47 -0
- package/src/components/Form/FormRadioGroup.tsx +23 -0
- package/src/components/Form/FormSelect.tsx +32 -0
- package/src/components/Form/form.transformer.ts +9 -0
- package/src/components/Form/form.types.ts +132 -0
- package/src/components/Input/Input.tsx +160 -165
- package/src/components/Input/SearchInput.tsx +13 -3
- package/src/components/Radio/Radio.js +3 -0
- package/src/components/Radio/RadioV2.css +15 -0
- package/src/components/Radio/RadioV2.tsx +87 -0
- package/src/components/RadioGroup/RadioGroup.js +3 -0
- package/src/components/RadioGroup/RadioGroupV2.tsx +35 -0
- package/src/components/Select/Select.tsx +38 -12
- package/src/components/Select/SelectV2.tsx +171 -0
- package/src/index.tsx +3 -0
- package/src/components/Select/Select.examples.md +0 -161
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormProps } from "./form.types";
|
|
3
|
+
/**
|
|
4
|
+
* Create a straight forward Form.
|
|
5
|
+
*
|
|
6
|
+
* TODO: wrap this in some Page component to style the div and buttons
|
|
7
|
+
* WARNING: don't use this component before some styling errors are resolved.
|
|
8
|
+
*/
|
|
9
|
+
export declare function Form<TFieldValues>({ fields, onValid, onError, defaultValues, }: FormProps<TFieldValues>): JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormFieldDecoratorWithGeneratedProps } from "./form.types";
|
|
3
|
+
/**
|
|
4
|
+
* Decorator for any input component. Adds a label and additional information to be shown.
|
|
5
|
+
*
|
|
6
|
+
* Includes the default error handling from react-hook-form.
|
|
7
|
+
*/
|
|
8
|
+
export declare function FormFieldDecorator({ name, children, label, fieldRequired, info, fieldErrors, decoratorClassname, }: FormFieldDecoratorWithGeneratedProps): JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormInputProps } from "./form.types";
|
|
3
|
+
export declare const FormInput: React.ForwardRefExoticComponent<Pick<FormInputProps, "name" | "onChange" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "nonce" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "type" | "useMap" | "value" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "clearable" | "isDisabled" | "withPrefix" | "withSuffix" | "icon" | "isError" | "fieldErrors" | "fieldRequired" | "info" | "decoratorClassname"> & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FieldErrors } from "react-hook-form";
|
|
2
|
+
export declare const hasError: (name?: string | undefined, errors?: FieldErrors<Record<string, any>> | undefined) => boolean;
|
|
3
|
+
export declare const isRequired: (options?: Partial<{
|
|
4
|
+
required: string | boolean | import("react-hook-form").ValidationValueMessage<boolean>;
|
|
5
|
+
min: import("react-hook-form").ValidationRule<string | number>;
|
|
6
|
+
max: import("react-hook-form").ValidationRule<string | number>;
|
|
7
|
+
maxLength: import("react-hook-form").ValidationRule<number>;
|
|
8
|
+
minLength: import("react-hook-form").ValidationRule<number>;
|
|
9
|
+
pattern: import("react-hook-form").ValidationRule<RegExp>;
|
|
10
|
+
validate: import("react-hook-form").Validate<any> | Record<string, import("react-hook-form").Validate<any>>;
|
|
11
|
+
valueAsNumber: boolean;
|
|
12
|
+
valueAsDate: boolean;
|
|
13
|
+
value: any;
|
|
14
|
+
setValueAs: (value: any) => any;
|
|
15
|
+
shouldUnregister?: boolean | undefined;
|
|
16
|
+
onChange?: ((event: any) => void) | undefined;
|
|
17
|
+
onBlur?: ((event: any) => void) | undefined;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
deps: string | string[];
|
|
20
|
+
}> | undefined) => boolean;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Control, DeepPartial, FieldErrors, FieldPath, FieldValues, RegisterOptions, SubmitErrorHandler, SubmitHandler } from "react-hook-form";
|
|
2
|
+
import React, { HTMLInputTypeAttribute } from "react";
|
|
3
|
+
import { InputProps } from "../Input/Input";
|
|
4
|
+
import { RadioGroupProps } from "../RadioGroup/RadioGroupV2";
|
|
5
|
+
import { SelectProps } from "../Select/SelectV2";
|
|
6
|
+
export declare type AllowedTextInputTypes = Extract<HTMLInputTypeAttribute, "email" | "number" | "password" | "text">;
|
|
7
|
+
export interface FormProps<TFieldValues extends FieldValues> {
|
|
8
|
+
fields: (FormFieldProps<TFieldValues> | FormFieldRowProps<TFieldValues>)[];
|
|
9
|
+
onValid: SubmitHandler<TFieldValues>;
|
|
10
|
+
onError?: SubmitErrorHandler<TFieldValues>;
|
|
11
|
+
defaultValues?: DeepPartial<TFieldValues>;
|
|
12
|
+
}
|
|
13
|
+
interface FormFieldGenericProps<TFieldType, TFieldValues> extends FormFieldDecoratorProps {
|
|
14
|
+
name: FieldPath<TFieldValues>;
|
|
15
|
+
options?: RegisterOptions;
|
|
16
|
+
fieldProps?: TFieldType;
|
|
17
|
+
}
|
|
18
|
+
interface FormFieldDecoratorProps {
|
|
19
|
+
label?: string;
|
|
20
|
+
info?: string;
|
|
21
|
+
decoratorClassname?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare type FormFieldProps<TFieldValues> = FormFieldInputProps<TFieldValues> | FormFieldSelectProps<TFieldValues> | FormFieldRadioGroupProps<TFieldValues>;
|
|
24
|
+
export interface FormFieldRowProps<TFieldValues> {
|
|
25
|
+
type: "row";
|
|
26
|
+
key: string;
|
|
27
|
+
fields: FormFieldProps<TFieldValues>[];
|
|
28
|
+
}
|
|
29
|
+
interface FormFieldInputProps<TFieldValues> extends FormFieldGenericProps<Omit<InputProps, "name">, TFieldValues> {
|
|
30
|
+
type: AllowedTextInputTypes;
|
|
31
|
+
}
|
|
32
|
+
interface FormFieldRadioGroupProps<TFieldValues> extends FormFieldGenericProps<Omit<RadioGroupProps, "name">, TFieldValues> {
|
|
33
|
+
type: "radioGroup";
|
|
34
|
+
}
|
|
35
|
+
export interface FormFieldSelectProps<TFieldValues> extends FormFieldGenericProps<SelectProps, TFieldValues> {
|
|
36
|
+
type: "select";
|
|
37
|
+
fieldProps: SelectProps;
|
|
38
|
+
}
|
|
39
|
+
export interface FormFieldDecoratorWithGeneratedProps extends FormFieldDecoratorProps {
|
|
40
|
+
name: string;
|
|
41
|
+
fieldErrors: FieldErrors;
|
|
42
|
+
fieldRequired: boolean;
|
|
43
|
+
children?: React.ReactNode;
|
|
44
|
+
}
|
|
45
|
+
export interface FormInputProps extends Omit<InputProps, "name">, FormFieldDecoratorWithGeneratedProps {
|
|
46
|
+
type: Extract<HTMLInputTypeAttribute, "email" | "number" | "password" | "text">;
|
|
47
|
+
}
|
|
48
|
+
export interface FormRadioGroupProps extends RadioGroupProps, FormFieldDecoratorWithGeneratedProps {
|
|
49
|
+
}
|
|
50
|
+
export interface FormSelectProps extends Omit<SelectProps, "name">, FormFieldDecoratorWithGeneratedProps {
|
|
51
|
+
control: Control;
|
|
52
|
+
rules?: Exclude<RegisterOptions, "valueAsNumber" | "valueAsDate" | "setValueAs">;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AllowedTextInputTypes } from "../Form/form.types";
|
|
2
3
|
import { IconProps } from "../Icons/types/IconProps.type";
|
|
3
4
|
import "./Input.css";
|
|
4
|
-
declare
|
|
5
|
-
export declare const INPUT_TYPES: Record<string, AllowedInputTypes>;
|
|
5
|
+
export declare const INPUT_TYPES: Record<string, AllowedTextInputTypes>;
|
|
6
6
|
/**
|
|
7
7
|
* It's very complicated to tap into the onChange events of inputs,
|
|
8
8
|
* so I omit the type it requires and add a easier one to deal with.
|
|
9
9
|
*/
|
|
10
|
-
declare type CustomHTMLInputProps = Omit<React.HTMLProps<HTMLInputElement>, "onChange"
|
|
10
|
+
declare type CustomHTMLInputProps = Omit<React.HTMLProps<HTMLInputElement>, "onChange"> & {
|
|
11
|
+
isError?: boolean;
|
|
12
|
+
};
|
|
11
13
|
declare type FakeEventTarget = {
|
|
12
14
|
target: {
|
|
13
15
|
value: string;
|
|
@@ -19,14 +21,13 @@ declare type FakeEventTarget = {
|
|
|
19
21
|
};
|
|
20
22
|
};
|
|
21
23
|
export interface InputProps extends CustomHTMLInputProps {
|
|
22
|
-
type?:
|
|
24
|
+
type?: AllowedTextInputTypes;
|
|
23
25
|
clearable?: boolean;
|
|
24
26
|
isDisabled?: boolean;
|
|
25
27
|
withPrefix?: string;
|
|
26
28
|
withSuffix?: string;
|
|
27
29
|
icon?: React.VoidFunctionComponent<IconProps>;
|
|
28
30
|
onChange?: (event: FakeEventTarget) => void;
|
|
29
|
-
setRef?: (refTarget: HTMLInputElement) => void;
|
|
30
31
|
}
|
|
31
|
-
declare const Input: React.
|
|
32
|
+
declare const Input: React.ForwardRefExoticComponent<Pick<InputProps, "color" | "hidden" | "onChange" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "nonce" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "type" | "useMap" | "value" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "withSuffix" | "withPrefix" | "clearable" | "isDisabled" | "icon" | "isError"> & React.RefAttributes<HTMLInputElement>>;
|
|
32
33
|
export default Input;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { InputProps } from "./Input";
|
|
3
3
|
export declare type SearchInputProps = Omit<InputProps, "icon" | "withSuffix" | "withPrefix" | "type" | "clearable">;
|
|
4
|
-
export declare const SearchInput: React.VoidFunctionComponent<SearchInputProps>;
|
|
4
|
+
export declare const SearchInput: React.ForwardRefExoticComponent<Pick<Pick<InputProps, "onChange" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "nonce" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "useMap" | "value" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "ref" | "key" | "isDisabled" | "isError">, "onChange" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "nonce" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "useMap" | "value" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "isDisabled" | "isError"> & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./RadioV2.css";
|
|
3
|
+
export interface RadioProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
4
|
+
name: string;
|
|
5
|
+
value: string | number;
|
|
6
|
+
text?: string;
|
|
7
|
+
info?: string;
|
|
8
|
+
isError?: boolean;
|
|
9
|
+
innerRef?: React.Ref<HTMLInputElement>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* TODO: The CSS styling is all messed up, including isError
|
|
13
|
+
* Warning: don't use this prop before this is resolved
|
|
14
|
+
* Issue to track: https://github.com/Luscii/web-ui/issues/57
|
|
15
|
+
* TODO: remove this comment once this is resolved
|
|
16
|
+
*/
|
|
17
|
+
export declare const RadioV2: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export default RadioGroup;
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated: use RadioV2 instead
|
|
4
|
+
*/
|
|
2
5
|
declare function RadioGroup({ className, radioClassName, name, selectedOption, isVertical, radioOptions, onChange, error, isDisabled, ...otherOptions }: {
|
|
3
6
|
[x: string]: any;
|
|
4
7
|
className: any;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { RadioProps } from "../Radio/RadioV2";
|
|
3
|
+
export interface RadioGroupProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "value"> {
|
|
4
|
+
name: string;
|
|
5
|
+
isError?: boolean;
|
|
6
|
+
options: Omit<RadioProps, "name">[];
|
|
7
|
+
innerRef?: React.Ref<HTMLInputElement>;
|
|
8
|
+
}
|
|
9
|
+
export declare const RadioGroupV2: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -10,5 +10,8 @@ import React from "react";
|
|
|
10
10
|
*/
|
|
11
11
|
import "./Select.scss";
|
|
12
12
|
declare type CustomSelect = <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: Props<Option, IsMulti, Group>, ref: React.RefAttributes<SelectInstance<Option, IsMulti, Group>>) => React.ReactElement;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated: use SelectV2 instead
|
|
15
|
+
*/
|
|
13
16
|
declare const CustomSelect: CustomSelect;
|
|
14
17
|
export default CustomSelect;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Props, GroupBase } from "react-select";
|
|
2
|
+
import React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Exceptional case for this file:
|
|
5
|
+
* We use postcss-url to inline and base64 our image assets.
|
|
6
|
+
* But the library can only see as far as css files.
|
|
7
|
+
* When javascript gets in the way (react-select uses a package called `emotion` for styles), postcss-url cannot
|
|
8
|
+
* bundle the svg assets used here, and we end up with some broken style.
|
|
9
|
+
*/
|
|
10
|
+
import "./Select.scss";
|
|
11
|
+
interface OptionMinimal {
|
|
12
|
+
value: any;
|
|
13
|
+
label?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface SelectProps<Option extends OptionMinimal = OptionMinimal, IsMulti extends boolean = any, Group extends GroupBase<Option> = GroupBase<Option>> extends Props<Option, IsMulti, Group> {
|
|
16
|
+
isError?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A wrapper around react-select to style it according to our design specification.
|
|
20
|
+
*
|
|
21
|
+
* In addition, the value is taken out of the option, instead of returning the complete option.
|
|
22
|
+
*
|
|
23
|
+
* Care when using grouped options: the value of the options overspanning all groups need to be unique!
|
|
24
|
+
* For instance, if you have an option with value "chocolate" in both the groups "flavor" and "dip", then you get unforeseen errors.
|
|
25
|
+
* This is a problem within react-select itself, not our wrapper.
|
|
26
|
+
*
|
|
27
|
+
* Care when using defaultValue: this still requires the complete Option (instead of the value of the Option).
|
|
28
|
+
* So far there wasn't a use-case for this.
|
|
29
|
+
*/
|
|
30
|
+
export declare const Select: React.ForwardRefExoticComponent<SelectProps<OptionMinimal, boolean, GroupBase<any>> & React.RefAttributes<unknown>>;
|
|
31
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -56,6 +56,8 @@ export { Timeline } from "./components/Timeline/Timeline";
|
|
|
56
56
|
export { ViewItem, ViewItemProps } from "./components/ViewItem/ViewItem";
|
|
57
57
|
export { default as Text } from "./components/Text/Text";
|
|
58
58
|
export { SearchInput, SearchInputProps } from "./components/Input/SearchInput";
|
|
59
|
+
export { Form } from "./components/Form/Form";
|
|
60
|
+
export { FormProps } from "./components/Form/form.types";
|
|
59
61
|
export { IconProps } from "./components/Icons/types/IconProps.type";
|
|
60
62
|
export { AddIcon } from "./components/Icons/AddIcon";
|
|
61
63
|
export { AlertsIcon } from "./components/Icons/AlertsIcon";
|
package/dist/web-ui-tailwind.css
CHANGED
|
@@ -615,6 +615,12 @@ video {
|
|
|
615
615
|
margin-left: calc(0.25rem * calc(1 - var(--space-x-reverse)));
|
|
616
616
|
}
|
|
617
617
|
|
|
618
|
+
.space-y-2 > :not(template) ~ :not(template) {
|
|
619
|
+
--space-y-reverse: 0;
|
|
620
|
+
margin-top: calc(0.5rem * calc(1 - var(--space-y-reverse)));
|
|
621
|
+
margin-bottom: calc(0.5rem * var(--space-y-reverse));
|
|
622
|
+
}
|
|
623
|
+
|
|
618
624
|
.space-x-2 > :not(template) ~ :not(template) {
|
|
619
625
|
--space-x-reverse: 0;
|
|
620
626
|
margin-right: calc(0.5rem * var(--space-x-reverse));
|
|
@@ -645,6 +651,10 @@ video {
|
|
|
645
651
|
margin-left: calc(1.5rem * calc(1 - var(--space-x-reverse)));
|
|
646
652
|
}
|
|
647
653
|
|
|
654
|
+
.appearance-none {
|
|
655
|
+
appearance: none;
|
|
656
|
+
}
|
|
657
|
+
|
|
648
658
|
.bg-transparent {
|
|
649
659
|
background-color: transparent;
|
|
650
660
|
}
|
|
@@ -1204,6 +1214,10 @@ video {
|
|
|
1204
1214
|
height: 100vh;
|
|
1205
1215
|
}
|
|
1206
1216
|
|
|
1217
|
+
.h-1\.5 {
|
|
1218
|
+
height: 0.375rem;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1207
1221
|
.last\:h-0:last-child {
|
|
1208
1222
|
height: 0;
|
|
1209
1223
|
}
|
|
@@ -1252,6 +1266,10 @@ video {
|
|
|
1252
1266
|
line-height: 1;
|
|
1253
1267
|
}
|
|
1254
1268
|
|
|
1269
|
+
.leading-tight {
|
|
1270
|
+
line-height: 1.25;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1255
1273
|
.list-none {
|
|
1256
1274
|
list-style-type: none;
|
|
1257
1275
|
}
|
|
@@ -1303,6 +1321,10 @@ video {
|
|
|
1303
1321
|
margin-left: 0;
|
|
1304
1322
|
}
|
|
1305
1323
|
|
|
1324
|
+
.mt-1 {
|
|
1325
|
+
margin-top: 0.25rem;
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1306
1328
|
.mb-1 {
|
|
1307
1329
|
margin-bottom: 0.25rem;
|
|
1308
1330
|
}
|
|
@@ -1359,6 +1381,10 @@ video {
|
|
|
1359
1381
|
margin-bottom: 1.5rem;
|
|
1360
1382
|
}
|
|
1361
1383
|
|
|
1384
|
+
.ml-6 {
|
|
1385
|
+
margin-left: 1.5rem;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1362
1388
|
.mt-8 {
|
|
1363
1389
|
margin-top: 2rem;
|
|
1364
1390
|
}
|
|
@@ -1959,6 +1985,10 @@ video {
|
|
|
1959
1985
|
white-space: nowrap;
|
|
1960
1986
|
}
|
|
1961
1987
|
|
|
1988
|
+
.w-1 {
|
|
1989
|
+
width: 0.25rem;
|
|
1990
|
+
}
|
|
1991
|
+
|
|
1962
1992
|
.w-2 {
|
|
1963
1993
|
width: 0.5rem;
|
|
1964
1994
|
}
|
|
@@ -2015,6 +2045,10 @@ video {
|
|
|
2015
2045
|
width: 100vw;
|
|
2016
2046
|
}
|
|
2017
2047
|
|
|
2048
|
+
.w-1\.5 {
|
|
2049
|
+
width: 0.375rem;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2018
2052
|
.z-10 {
|
|
2019
2053
|
z-index: 10;
|
|
2020
2054
|
}
|