diff --git a/package.json b/package.json index 861f1b3f8e..951560660b 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "customize-cra": "^0.9.1", "customize-cra-react-refresh": "^1.0.1", "prettier": "^1.19.1", - "react-app-rewired": "^2.1.5" + "react-app-rewired": "^2.1.5", + "typedoc": "^0.16.9" } } diff --git a/scripts/format.js b/scripts/format.js new file mode 100644 index 0000000000..095c17d515 --- /dev/null +++ b/scripts/format.js @@ -0,0 +1,55 @@ +const types = require("./types.json"); +const fs = require("fs"); +const references = {}; + +const inferType = (type, children) => { + if (type.type === "union") { + if ( + type.types.length === 3 && + type.types[1].name === "false" && + type.types[2].name === "true" + ) { + return { type: "boolean" }; + } else if ( + type.types.length === 2 && + type.types[0].name === "undefined" && + type.types[1].name === "string" + ) { + return { type: "string" }; + } else if ( + type.types.length === 2 && + type.types[0].name === "undefined" && + type.types[1].type === "reflection" + ) { + return { type: "callback" }; + } else if ( + type.types.length > 0 && + type.types[0].type === "stringLiteral" + ) { + return { + type: "enum", + choices: type.types.map(item => item.value) + }; + } + } + + return { type: "string" }; +}; + +types.children + .filter(child => !!child.children) + .filter(child => child.kindString === "Interface") + .map(child => { + references[child.sources[0].fileName.split("/")[0]] = child.children.map( + props => { + const { name, type, comment } = props; + return { + name, + type: inferType(type, types.children), + description: comment && comment.shortText + }; + } + ); + }); + +fs.writeFileSync("./ref.json", JSON.stringify(references)); diff --git a/scripts/generate.js b/scripts/generate.js new file mode 100644 index 0000000000..98c47501ab --- /dev/null +++ b/scripts/generate.js @@ -0,0 +1,40 @@ +const TypeDoc = require("typedoc"); + +const app = new TypeDoc.Application(); + +// If you want TypeDoc to load tsconfig.json / typedoc.json files +app.options.addReader(new TypeDoc.TSConfigReader()); +app.options.addReader(new TypeDoc.TypeDocReader()); + +app.bootstrap({ + mode: "file", + includeDeclarations: true, + excludeExternals: true +}); + +//node_modules/@chakra-ui/core/dist/theme/icons.d.ts +const COMPONENTS = [ + "Badge", + "Checkbox", + "Button", + "Image", + "Badge", + "Icon", + "Text", + "Avatar", + "AvatarGroup", + "AvatarBadge", + "Tag" +]; +const project = app.convert( + app.expandInputFiles( + COMPONENTS.map( + name => `../node_modules/@chakra-ui/core/dist/${name}/index.d.ts` + ) + ) +); + +if (project) { + // Project may not have converted correctly + app.generateJson(project, "types.json"); +} diff --git a/scripts/ref.json b/scripts/ref.json new file mode 100644 index 0000000000..9a0a69f621 --- /dev/null +++ b/scripts/ref.json @@ -0,0 +1,273 @@ +{ + "Avatar": [ + { + "name": "children", + "type": { "type": "string" }, + "description": "The badge at the bottom right corner of the avatar." + }, + { + "name": "name", + "type": { "type": "string" }, + "description": "The name of the person in the avatar." + }, + { + "name": "showBorder", + "type": { "type": "boolean" }, + "description": "If `true`, the `Avatar` will show a border around it." + }, + { + "name": "size", + "type": { "type": "string" }, + "description": "The size of the avatar." + }, + { + "name": "src", + "type": { "type": "string" }, + "description": "The image url of the `Avatar`" + } + ], + "AvatarGroup": [ + { "name": "label", "type": { "type": "string" } }, + { "name": "size", "type": { "type": "string" } } + ], + "Badge": [ + { + "name": "variant", + "type": { "type": "enum", "choices": ["solid", "subtle", "outline"] }, + "description": "The variant of the badge" + }, + { + "name": "variantColor", + "type": { "type": "string" }, + "description": "The color scheme of the badge" + } + ], + "Button": [ + { + "name": "children", + "type": { "type": "string" }, + "description": "The content of the button." + }, + { + "name": "iconSpacing", + "type": { "type": "string" }, + "description": "The space between the button icon and label.\nUse the styled-system tokens or add custom values as a string" + }, + { + "name": "isActive", + "type": { "type": "boolean" }, + "description": "If `true`, the button will be styled in it's active state." + }, + { + "name": "isDisabled", + "type": { "type": "boolean" }, + "description": "If `true`, the button will be disabled." + }, + { + "name": "isFullWidth", + "type": { "type": "boolean" }, + "description": "If `true`, the button will take up the full width of its container." + }, + { + "name": "isLoading", + "type": { "type": "boolean" }, + "description": "If `true`, the button will show a spinner." + }, + { + "name": "leftIcon", + "type": { "type": "string" }, + "description": "If added, the button will show an icon before the button's label.\nUse the icon key in `theme.iconPath`" + }, + { + "name": "loadingText", + "type": { "type": "string" }, + "description": "The label to show in the button when `isLoading` is true\nIf no text is passed, it only shows the spinner" + }, + { + "name": "rightIcon", + "type": { "type": "string" }, + "description": "If added, the button will show an icon after the button's label.\nUse the icon key in `theme.iconPath`" + }, + { + "name": "size", + "type": { "type": "enum", "choices": ["xs", "sm", "md", "lg"] }, + "description": "The size of the button" + }, + { + "name": "type", + "type": { "type": "enum", "choices": ["button", "reset", "submit"] }, + "description": "The html button type to use." + }, + { + "name": "variant", + "type": { + "type": "enum", + "choices": ["outline", "ghost", "unstyled", "link", "solid"] + }, + "description": "The variant of the button style to use." + }, + { + "name": "variantColor", + "type": { "type": "string" }, + "description": "The color scheme of the button." + } + ], + "Checkbox": [ + { + "name": "children", + "type": { "type": "string" }, + "description": "The children is the label to be displayed to the right of the checkbox." + }, + { + "name": "defaultIsChecked", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox will be initially checked." + }, + { + "name": "id", + "type": { "type": "string" }, + "description": "id assigned to input" + }, + { + "name": "isChecked", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox will be checked.\nYou'll need to pass `onChange` to update it's value (since it's now controlled)" + }, + { + "name": "isDisabled", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox will be disabled" + }, + { + "name": "isFullWidth", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox should take up the full width of the parent." + }, + { + "name": "isIndeterminate", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox will be indeterminate.\nThis only affects the icon shown inside checkbox\nand does not modify the isChecked property." + }, + { + "name": "isInvalid", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox is marked as invalid.\nChanges style of unchecked state." + }, + { + "name": "isReadOnly", + "type": { "type": "boolean" }, + "description": "If `true`, the checkbox will be readonly" + }, + { + "name": "name", + "type": { "type": "string" }, + "description": "The name of the input field in a checkbox\n(Useful for form submission)." + }, + { + "name": "onChange", + "type": { "type": "string" }, + "description": "The callback invoked when the checked state of the `Checkbox` changes.." + }, + { + "name": "size", + "type": { "type": "enum", "choices": ["sm", "md", "lg"] }, + "description": "The size (width and height) of the checkbox" + }, + { + "name": "value", + "type": { "type": "string" }, + "description": "The value to be used in the checkbox input.\nThis is the value that will be returned on form submission." + }, + { + "name": "variantColor", + "type": { "type": "string" }, + "description": "The color scheme of the checkbox." + } + ], + "Icon": [ + { + "name": "color", + "type": { "type": "string" }, + "description": "The color of the icon." + }, + { + "name": "focusable", + "type": { "type": "boolean" }, + "description": "If `false`, it means the icon is used within interactive\nelement and won't be focuable." + }, + { + "name": "name", + "type": { "type": "string" }, + "description": "The name of the icon." + }, + { + "name": "role", + "type": { "type": "enum", "choices": ["presentation", "img"] }, + "description": "The role of the icon. `presentation` or `img`" + }, + { + "name": "size", + "type": { "type": "string" }, + "description": "The size of the icon." + } + ], + "Image": [ + { + "name": "alt", + "type": { "type": "string" }, + "description": "The alt text that describes the image" + }, + { + "name": "fallbackSrc", + "type": { "type": "string" }, + "description": "In event there was an error loading the `src`, specify a fallback\nIn most cases, this can be an avatar or image placeholder" + }, + { + "name": "htmlHeight", + "type": { "type": "string" }, + "description": "The native HTML `height` attribute to the passed to the `img`" + }, + { + "name": "htmlWidth", + "type": { "type": "string" }, + "description": "The native HTML `width` attribute to the passed to the `img`" + }, + { + "name": "ignoreFallback", + "type": { "type": "boolean" }, + "description": "Opt out of the `fallbackSrc` logic and use the `Image` directly" + }, + { + "name": "onError", + "type": { "type": "callback" }, + "description": "A callback for when there was an error loading the image `src`" + }, + { + "name": "onLoad", + "type": { "type": "callback" }, + "description": "A callback for when the image `src` has been loaded" + }, + { + "name": "src", + "type": { "type": "string" }, + "description": "The path to the image source" + } + ], + "Tag": [ + { + "name": "size", + "type": { "type": "enum", "choices": ["sm", "md", "lg"] }, + "description": "The size of the tag." + }, + { + "name": "variant", + "type": { "type": "string" }, + "description": "The variant of the tag." + }, + { + "name": "variantColor", + "type": { "type": "string" }, + "description": "The color scheme of the tag." + } + ] +} diff --git a/scripts/types.json b/scripts/types.json new file mode 100644 index 0000000000..18419ca3c0 --- /dev/null +++ b/scripts/types.json @@ -0,0 +1,3180 @@ +{ + "id": 0, + "name": "undefined", + "kind": 0, + "flags": {}, + "originalName": "", + "children": [ + { + "id": 63, + "name": "IAvatar", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 67, + "name": "children", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The badge at the bottom right corner of the avatar." + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 28, + "character": 10 + } + ], + "type": { + "type": "reference", + "name": "React.ReactNode" + } + }, + { + "id": 64, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The name of the person in the avatar.", + "text": "- if `src` has loaded, the name will be used as the `alt` attribute of the `img`\n- If `src` is not loaded, the name will be used to create the initials\n" + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 14, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 66, + "name": "showBorder", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the `Avatar` will show a border around it.", + "text": "Best for a group of avatars\n" + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 24, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 65, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The size of the avatar." + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 18, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 69, + "name": "Size" + } + }, + { + "id": 68, + "name": "src", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The image url of the `Avatar`" + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 32, + "character": 5 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 67, + 64, + 66, + 65, + 68 + ] + } + ], + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 7, + "character": 24 + } + ] + }, + { + "id": 78, + "name": "IAvatarGroup", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 80, + "name": "children", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true + }, + "comment": { + "shortText": "The children of the avatar group.", + "text": "Ideally should be `Avatar` and `MoreIndicator` components\n" + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 21, + "character": 10 + } + ], + "type": { + "type": "reference", + "name": "React.ReactNode" + } + }, + { + "id": 82, + "name": "max", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The maximum number of visible avatars" + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 29, + "character": 5 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 79, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The size of the avatar group." + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 15, + "character": 6 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "size" + }, + "objectType": { + "type": "reference", + "name": "IAvatar" + } + } + }, + { + "id": 81, + "name": "spacing", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The space between the avatars in the group." + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 25, + "character": 9 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "marginLeft" + }, + "objectType": { + "type": "reference", + "name": "BoxProps" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 80, + 82, + 79, + 81 + ] + } + ], + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 11, + "character": 22 + } + ] + }, + { + "id": 1, + "name": "IBadge", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 3, + "name": "variant", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The variant of the badge" + }, + "sources": [ + { + "fileName": "Badge/index.d.ts", + "line": 15, + "character": 9 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "solid" + }, + { + "type": "stringLiteral", + "value": "subtle" + }, + { + "type": "stringLiteral", + "value": "outline" + } + ] + } + }, + { + "id": 2, + "name": "variantColor", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The color scheme of the badge", + "text": "🚨Note: This should be one of the color keys in the theme that has `100` - `900` color values (e.g.`green`, `red`).", + "tags": [ + { + "tag": "see", + "text": "http://chakra-ui.com/theme#colors\n" + } + ] + }, + "sources": [ + { + "fileName": "Badge/index.d.ts", + "line": 11, + "character": 14 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 3, + 2 + ] + } + ], + "sources": [ + { + "fileName": "Badge/index.d.ts", + "line": 4, + "character": 23 + } + ] + }, + { + "id": 23, + "name": "IButton", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 33, + "name": "children", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true + }, + "comment": { + "shortText": "The content of the button." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 50, + "character": 10 + } + ], + "type": { + "type": "reference", + "name": "React.ReactNode" + } + }, + { + "id": 36, + "name": "iconSpacing", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The space between the button icon and label.\nUse the styled-system tokens or add custom values as a string" + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 65, + "character": 13 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "margin" + }, + "objectType": { + "type": "reference", + "name": "PseudoBoxProps" + } + } + }, + { + "id": 28, + "name": "isActive", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the button will be styled in it's active state." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 29, + "character": 10 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 29, + "name": "isDisabled", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the button will be disabled." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 33, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 31, + "name": "isFullWidth", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the button will take up the full width of its container." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 42, + "character": 13 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 25, + "name": "isLoading", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the button will show a spinner." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 14, + "character": 11 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 34, + "name": "leftIcon", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If added, the button will show an icon before the button's label.\nUse the icon key in `theme.iconPath`" + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 55, + "character": 10 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "Icons" + }, + { + "type": "reference", + "name": "React.ComponentType" + } + ] + } + }, + { + "id": 30, + "name": "loadingText", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The label to show in the button when `isLoading` is true\nIf no text is passed, it only shows the spinner" + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 38, + "character": 13 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 35, + "name": "rightIcon", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If added, the button will show an icon after the button's label.\nUse the icon key in `theme.iconPath`" + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 60, + "character": 11 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "Icons" + }, + { + "type": "reference", + "name": "React.ComponentType" + } + ] + } + }, + { + "id": 24, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The size of the button" + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 10, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "xs" + }, + { + "type": "stringLiteral", + "value": "sm" + }, + { + "type": "stringLiteral", + "value": "md" + }, + { + "type": "stringLiteral", + "value": "lg" + } + ] + } + }, + { + "id": 32, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The html button type to use." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 46, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "button" + }, + { + "type": "stringLiteral", + "value": "reset" + }, + { + "type": "stringLiteral", + "value": "submit" + } + ] + } + }, + { + "id": 27, + "name": "variant", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The variant of the button style to use." + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 25, + "character": 9 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "outline" + }, + { + "type": "stringLiteral", + "value": "ghost" + }, + { + "type": "stringLiteral", + "value": "unstyled" + }, + { + "type": "stringLiteral", + "value": "link" + }, + { + "type": "stringLiteral", + "value": "solid" + } + ] + } + }, + { + "id": 26, + "name": "variantColor", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The color scheme of the button.", + "text": "🚨Note: This should be one of the color keys in the theme that has `100` - `900` color values (e.g.`green`, `red`).", + "tags": [ + { + "tag": "see", + "text": "http://chakra-ui.com/theme#colors\n" + } + ] + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 21, + "character": 14 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 33, + 36, + 28, + 29, + 31, + 25, + 34, + 30, + 35, + 24, + 32, + 27, + 26 + ] + } + ], + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 6, + "character": 24 + } + ] + }, + { + "id": 6, + "name": "ICheckbox", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 20, + "name": "children", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The children is the label to be displayed to the right of the checkbox." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 70, + "character": 10 + } + ], + "type": { + "type": "reference", + "name": "React.ReactNode" + } + }, + { + "id": 11, + "name": "defaultIsChecked", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox will be initially checked." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 30, + "character": 18 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 7, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "id assigned to input" + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 9, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 12, + "name": "isChecked", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox will be checked.\nYou'll need to pass `onChange` to update it's value (since it's now controlled)" + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 35, + "character": 11 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 15, + "name": "isDisabled", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox will be disabled" + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 47, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 13, + "name": "isFullWidth", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox should take up the full width of the parent." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 39, + "character": 13 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 19, + "name": "isIndeterminate", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox will be indeterminate.\nThis only affects the icon shown inside checkbox\nand does not modify the isChecked property." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 66, + "character": 17 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 17, + "name": "isInvalid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox is marked as invalid.\nChanges style of unchecked state." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 56, + "character": 11 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 16, + "name": "isReadOnly", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the checkbox will be readonly" + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 51, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 8, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The name of the input field in a checkbox\n(Useful for form submission)." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 14, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 18, + "name": "onChange", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The callback invoked when the checked state of the `Checkbox` changes.." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 60, + "character": 10 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "HTMLInputElement" + } + ], + "name": "React.ChangeEventHandler" + } + }, + { + "id": 14, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The size (width and height) of the checkbox" + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 43, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "sm" + }, + { + "type": "stringLiteral", + "value": "md" + }, + { + "type": "stringLiteral", + "value": "lg" + } + ] + } + }, + { + "id": 9, + "name": "value", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The value to be used in the checkbox input.\nThis is the value that will be returned on form submission." + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 19, + "character": 7 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 10, + "name": "variantColor", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The color scheme of the checkbox.", + "text": "🚨Note: This should be one of the color keys in the theme that has `100` - `900` color values (e.g.`green`, `red`).", + "tags": [ + { + "tag": "see", + "text": "http://chakra-ui.com/theme#colors\n" + } + ] + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 26, + "character": 14 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 20, + 11, + 7, + 12, + 15, + 13, + 19, + 17, + 16, + 8, + 18, + 14, + 9, + 10 + ] + } + ], + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 5, + "character": 26 + } + ] + }, + { + "id": 54, + "name": "IIcon", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 57, + "name": "color", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The color of the icon." + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 18, + "character": 7 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 59, + "name": "focusable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "If `false`, it means the icon is used within interactive\nelement and won't be focuable." + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 27, + "character": 11 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 56, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The name of the icon." + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 14, + "character": 6 + } + ], + "type": { + "type": "reference", + "name": "Icons" + } + }, + { + "id": 58, + "name": "role", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The role of the icon. `presentation` or `img`" + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 22, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "presentation" + }, + { + "type": "stringLiteral", + "value": "img" + } + ] + } + }, + { + "id": 55, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The size of the icon." + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 10, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 57, + 59, + 56, + 58, + 55 + ] + } + ], + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 6, + "character": 15 + } + ] + }, + { + "id": 39, + "name": "IImage", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 42, + "name": "alt", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The alt text that describes the image" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 17, + "character": 5 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 41, + "name": "fallbackSrc", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "In event there was an error loading the `src`, specify a fallback\nIn most cases, this can be an avatar or image placeholder" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 13, + "character": 13 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 50, + "name": "htmlHeight", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The native HTML `height` attribute to the passed to the `img`" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 33, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 49, + "name": "htmlWidth", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The native HTML `width` attribute to the passed to the `img`" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 29, + "character": 11 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 51, + "name": "ignoreFallback", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "Opt out of the `fallbackSrc` logic and use the `Image` directly" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 37, + "character": 16 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "false" + }, + { + "type": "intrinsic", + "name": "true" + } + ] + } + }, + { + "id": 46, + "name": "onError", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "A callback for when there was an error loading the image `src`" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 25, + "character": 9 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 47, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": { + "isExported": true + }, + "signatures": [ + { + "id": 48, + "name": "__call", + "kind": 4096, + "kindString": "Call signature", + "flags": { + "isExported": true + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + ] + } + }, + { + "id": 43, + "name": "onLoad", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "A callback for when the image `src` has been loaded" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 21, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 44, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": { + "isExported": true + }, + "signatures": [ + { + "id": 45, + "name": "__call", + "kind": 4096, + "kindString": "Call signature", + "flags": { + "isExported": true + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + ] + } + }, + { + "id": 40, + "name": "src", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The path to the image source" + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 8, + "character": 5 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 42, + 41, + 50, + 49, + 51, + 46, + 43, + 40 + ] + } + ], + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 4, + "character": 16 + } + ] + }, + { + "id": 75, + "name": "IMoreIndicator", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 77, + "name": "label", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 8, + "character": 7 + } + ], + "type": { + "type": "reference", + "name": "React.ReactNode" + } + }, + { + "id": 76, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 7, + "character": 6 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "size" + }, + "objectType": { + "type": "reference", + "name": "IAvatar" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 77, + 76 + ] + } + ], + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 6, + "character": 24 + } + ] + }, + { + "id": 85, + "name": "ITag", + "kind": 256, + "kindString": "Interface", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 87, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The size of the tag." + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 16, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "sm" + }, + { + "type": "stringLiteral", + "value": "md" + }, + { + "type": "stringLiteral", + "value": "lg" + } + ] + } + }, + { + "id": 86, + "name": "variant", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The variant of the tag." + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 12, + "character": 9 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "variant" + }, + "objectType": { + "type": "reference", + "name": "IBadge" + } + } + }, + { + "id": 88, + "name": "variantColor", + "kind": 1024, + "kindString": "Property", + "flags": { + "isExported": true, + "isOptional": true + }, + "comment": { + "shortText": "The color scheme of the tag." + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 20, + "character": 14 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "variantColor" + }, + "objectType": { + "type": "reference", + "name": "IBadge" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 87, + 86, + 88 + ] + } + ], + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 8, + "character": 21 + } + ] + }, + { + "id": 83, + "name": "AvatarGroupProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 32, + "character": 28 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 78, + "name": "IAvatarGroup" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + }, + { + "type": "stringLiteral", + "value": "size" + } + ], + "name": "Omit" + } + ] + } + }, + { + "id": 70, + "name": "AvatarNameProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 35, + "character": 27 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "name" + }, + "objectType": { + "type": "reference", + "name": "IAvatar" + } + }, + { + "type": "reference", + "name": "BoxProps" + } + ] + } + }, + { + "id": 73, + "name": "AvatarProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 40, + "character": 23 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 63, + "name": "IAvatar" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + }, + { + "type": "stringLiteral", + "value": "size" + } + ], + "name": "Omit" + } + ] + } + }, + { + "id": 4, + "name": "BadgeProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Badge/index.d.ts", + "line": 18, + "character": 22 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 1, + "name": "IBadge" + }, + { + "type": "reference", + "name": "BoxProps" + } + ] + } + }, + { + "id": 37, + "name": "ButtonProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 68, + "character": 23 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 23, + "name": "IButton" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "PseudoBoxProps" + }, + { + "type": "stringLiteral", + "value": "size" + } + ], + "name": "Omit" + } + ] + } + }, + { + "id": 21, + "name": "CheckboxProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 73, + "character": 25 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 6, + "name": "ICheckbox" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "HTMLInputElement" + } + ], + "name": "RefAttributes" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + }, + { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "onChange" + }, + { + "type": "stringLiteral", + "value": "defaultChecked" + } + ] + } + ], + "name": "Omit" + } + ] + } + }, + { + "id": 60, + "name": "IconProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 30, + "character": 21 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 54, + "name": "IIcon" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + }, + { + "type": "stringLiteral", + "value": "size" + } + ], + "name": "Omit" + } + ] + } + }, + { + "id": 52, + "name": "ImageProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 40, + "character": 22 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 39, + "name": "IImage" + }, + { + "type": "reference", + "name": "BoxProps" + } + ] + } + }, + { + "id": 69, + "name": "Size", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 5, + "character": 9 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "stringLiteral", + "value": "2xs" + }, + { + "type": "stringLiteral", + "value": "xs" + }, + { + "type": "stringLiteral", + "value": "sm" + }, + { + "type": "stringLiteral", + "value": "md" + }, + { + "type": "stringLiteral", + "value": "lg" + }, + { + "type": "stringLiteral", + "value": "xl" + }, + { + "type": "stringLiteral", + "value": "2xl" + } + ] + } + }, + { + "id": 93, + "name": "TagIconProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 29, + "character": 17 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "IconProps" + }, + { + "type": "stringLiteral", + "value": "name" + } + ], + "name": "Omit" + }, + { + "type": "reflection", + "declaration": { + "id": 94, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": { + "isExported": true + }, + "children": [ + { + "id": 95, + "name": "icon", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 30, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "indexedAccess", + "indexType": { + "type": "stringLiteral", + "value": "name" + }, + "objectType": { + "type": "reference", + "name": "IconProps" + } + }, + { + "type": "reference", + "name": "React.ComponentType" + } + ] + } + } + ], + "groups": [ + { + "title": "Variables", + "kind": 32, + "children": [ + 95 + ] + } + ], + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 29, + "character": 45 + } + ] + } + } + ] + } + }, + { + "id": 89, + "name": "TagProps", + "kind": 4194304, + "kindString": "Type alias", + "flags": { + "isExported": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 22, + "character": 20 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "id": 85, + "name": "ITag" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "PseudoBoxProps" + }, + { + "type": "stringLiteral", + "value": "size" + } + ], + "name": "Omit" + } + ] + } + }, + { + "id": 74, + "name": "Avatar", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "comment": { + "shortText": "The Avatar component is used to represent user, and displays the profile\npicture, initials or fallback icon." + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 45, + "character": 20 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 73, + "name": "AvatarProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 72, + "name": "AvatarBadge", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 38, + "character": 24 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 84, + "name": "AvatarGroup", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "comment": { + "shortText": "AvatarGroup is a wrapper to render a collection of evenly spaced avatars." + }, + "sources": [ + { + "fileName": "AvatarGroup/index.d.ts", + "line": 36, + "character": 25 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 83, + "name": "AvatarGroupProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 71, + "name": "AvatarName", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Avatar/index.d.ts", + "line": 36, + "character": 23 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 70, + "name": "AvatarNameProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 5, + "name": "Badge", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "comment": { + "shortText": "The Badge component is used for state, general text, and number labels." + }, + "sources": [ + { + "fileName": "Badge/index.d.ts", + "line": 23, + "character": 19 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 4, + "name": "BadgeProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 38, + "name": "Button", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Button/index.d.ts", + "line": 70, + "character": 20 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 37, + "name": "ButtonProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 22, + "name": "Checkbox", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Checkbox/index.d.ts", + "line": 77, + "character": 22 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 21, + "name": "CheckboxProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 61, + "name": "Icon", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Icon/index.d.ts", + "line": 32, + "character": 18 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "IconProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 53, + "name": "Image", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Image/index.d.ts", + "line": 42, + "character": 19 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 52, + "name": "ImageProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 90, + "name": "Tag", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 23, + "character": 17 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 89, + "name": "TagProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 92, + "name": "TagCloseButton", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 27, + "character": 27 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "PseudoBoxProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 96, + "name": "TagIcon", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 32, + "character": 20 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 93, + "name": "TagIconProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 91, + "name": "TagLabel", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Tag/index.d.ts", + "line": 26, + "character": 21 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + } + ], + "name": "React.FC" + } + }, + { + "id": 62, + "name": "Text", + "kind": 32, + "kindString": "Variable", + "flags": { + "isExported": true, + "isConst": true + }, + "sources": [ + { + "fileName": "Text/index.d.ts", + "line": 4, + "character": 18 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "BoxProps" + } + ], + "name": "React.FC" + } + } + ], + "groups": [ + { + "title": "Interfaces", + "kind": 256, + "children": [ + 63, + 78, + 1, + 23, + 6, + 54, + 39, + 75, + 85 + ] + }, + { + "title": "Type aliases", + "kind": 4194304, + "children": [ + 83, + 70, + 73, + 4, + 37, + 21, + 60, + 52, + 69, + 93, + 89 + ] + }, + { + "title": "Variables", + "kind": 32, + "children": [ + 74, + 72, + 84, + 71, + 5, + 38, + 22, + 61, + 53, + 90, + 92, + 96, + 91, + 62 + ] + } + ] +} \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 2dfc0f3bba..66666bba5a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { Flex, Box, LightMode } from "@chakra-ui/core"; +import { Flex, Box } from "@chakra-ui/core"; import { DndProvider } from "react-dnd"; import Backend from "react-dnd-html5-backend"; import Editor from "./components/editor/Editor"; @@ -10,63 +10,63 @@ import { Global } from "@emotion/core"; import { EditorProvider } from "./contexts/EditorContext"; export const COMPONENTS: ComponentType[] = [ + "Avatar", + "AvatarBadge", + "AvatarGroup", + "Badge", "Box", - "Checkbox", "Button", - "Image", - "Badge", + "Checkbox", + "CircularProgress", + "CloseButton", + "Code", + "Divider", + "Heading", "Icon", - "Text", - "Progress", - "Avatar", - "Link", - "AvatarGroup", - "AvatarBadge", "IconButton", + "Image", + "Link", + "Progress", + "SimpleGrid", + "Switch", "Spinner", - "CloseButton", - "Divider", - "Code", "TextArea", - "Heading", "Tag", - "SimpleGrid", - "CircularProgress" + "Text", + "TextArea" ]; const App = () => ( - - - ({ - "*": { borderBox: "box-sizing" } - })} - /> + + ({ + "*": { borderBox: "box-sizing" } + })} + /> -
+
- - - - - - + + + + + + - + - - - - - - + + + + + ); export default App; diff --git a/src/components/editor/ComponentPreview.tsx b/src/components/editor/ComponentPreview.tsx index 469b21e5b0..24c0c16d47 100644 --- a/src/components/editor/ComponentPreview.tsx +++ b/src/components/editor/ComponentPreview.tsx @@ -23,6 +23,7 @@ import CircularProgressPreview from "./previews/CircularProgressPreview"; import HeadingPreview from "./previews/HeadingPreview"; import TagPreview from "./previews/TagPreview"; import SimpleGridPreview from "./previews/SimpleGridPreview"; +import SwitchPreview from "./previews/SwitchPreview"; const ComponentPreview: React.FC<{ component: IComponent }> = ({ component @@ -72,6 +73,8 @@ const ComponentPreview: React.FC<{ component: IComponent }> = ({ return ; case "SimpleGrid": return ; + case "Switch": + return ; default: return null; } diff --git a/src/components/editor/Editor.tsx b/src/components/editor/Editor.tsx index 356529238a..d525596124 100644 --- a/src/components/editor/Editor.tsx +++ b/src/components/editor/Editor.tsx @@ -43,7 +43,7 @@ const Editor: React.FC = () => { = ({ component, spacing, isFirstElement }) => { + index?: number; +}> = ({ component, spacing, index }) => { const { drop, isOver } = useDropComponent(component.name, ["AvatarBadge"]); const { props, ref } = useInteractive(component); const { components } = useBuilderContext(); - let boxProps: any = { display: "inline" }; + let boxProps: any = { + display: "inline-block", + zIndex: index ? 20 - index : null + }; + + props.p = 0; if (isOver) { props.bg = "teal.50"; @@ -26,7 +31,7 @@ const AvatarPreview: React.FC - + {component.children.map((key: string) => ( ))} @@ -47,10 +52,10 @@ export const AvatarGroupPreview = ({ component }: IPreviewProps) => { return ( - + {component.children.map((key: string, i: number) => ( diff --git a/src/components/editor/previews/SwitchPreview.tsx b/src/components/editor/previews/SwitchPreview.tsx new file mode 100644 index 0000000000..fadd375a3d --- /dev/null +++ b/src/components/editor/previews/SwitchPreview.tsx @@ -0,0 +1,11 @@ +import React from "react"; +import { Switch } from "@chakra-ui/core"; +import { useInteractive } from "../../../hooks/useInteractive"; + +const SwitchPreview: React.FC<{ component: IComponent }> = ({ component }) => { + const { props, ref } = useInteractive(component); + + return ; +}; + +export default SwitchPreview; diff --git a/src/components/inspector/AccordionContainer.tsx b/src/components/inspector/AccordionContainer.tsx index 0eeff598e0..aa676111d1 100644 --- a/src/components/inspector/AccordionContainer.tsx +++ b/src/components/inspector/AccordionContainer.tsx @@ -16,7 +16,7 @@ const AccordionContainer: React.FC<{ return ( - + {title} diff --git a/src/components/inspector/controls/ColorsControl.tsx b/src/components/inspector/controls/ColorsControl.tsx index 56ab45013c..60cb6301a7 100644 --- a/src/components/inspector/controls/ColorsControl.tsx +++ b/src/components/inspector/controls/ColorsControl.tsx @@ -152,7 +152,7 @@ const ColorsControl = (props: ColorControlPropsType) => { = ({ label, htmlFor, children, - width -}) => { - return ( - ( + + + {label} + + - - {label} - {children} - - ); -}; + + +); export default FormControl; diff --git a/src/components/inspector/panels/AvatarPanel.tsx b/src/components/inspector/panels/AvatarPanel.tsx index 2ba84f59ba..bba541594a 100644 --- a/src/components/inspector/panels/AvatarPanel.tsx +++ b/src/components/inspector/panels/AvatarPanel.tsx @@ -46,7 +46,7 @@ const AvatarPanel = () => { /> - + { return ( <> - + setValue("value", value)} min={0} diff --git a/src/components/inspector/panels/DimensionPanel.tsx b/src/components/inspector/panels/DimensionPanel.tsx index 29d993f4de..44924100f7 100644 --- a/src/components/inspector/panels/DimensionPanel.tsx +++ b/src/components/inspector/panels/DimensionPanel.tsx @@ -11,7 +11,7 @@ const DimensionPanel = ({ handleChange, values }: DimensionPanelPropsType) => { return ( <> - + { /> - + { - + { /> - + { /> - + { /> - + = ({ component }) => { const { type } = component; @@ -48,6 +49,7 @@ const Panels: React.FC<{ component: IComponent }> = ({ component }) => { {type === "CircularProgress" && } {type === "Heading" && } {type === "SimpleGrid" && } + {type === "Switch" && } {type === "Tag" && } ); diff --git a/src/components/inspector/panels/SwitchPanel.tsx b/src/components/inspector/panels/SwitchPanel.tsx new file mode 100644 index 0000000000..daac44b440 --- /dev/null +++ b/src/components/inspector/panels/SwitchPanel.tsx @@ -0,0 +1,41 @@ +import React from "react"; +import ColorsControl from "../controls/ColorsControl"; +import { Select, Switch } from "@chakra-ui/core"; +import FormControl from "../controls/FormControl"; +import { useForm } from "../../../hooks/useForm"; + +const SwitchPanel = () => { + const { values, setValueFromEvent, setValue } = useForm(); + + return ( + <> + + setValue("isChecked", !values.isChecked)} + /> + + + + + + + + + ); +}; + +export default SwitchPanel; diff --git a/src/components/inspector/panels/TextPanel.tsx b/src/components/inspector/panels/TextPanel.tsx index 1d1667ddec..ebf9bb4195 100644 --- a/src/components/inspector/panels/TextPanel.tsx +++ b/src/components/inspector/panels/TextPanel.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { IconButton } from "@chakra-ui/core"; +import { IconButton, ButtonGroup } from "@chakra-ui/core"; import ColorsControl from "../controls/ColorsControl"; import { GoBold, GoItalic } from "react-icons/go"; import { @@ -57,50 +57,47 @@ const TextPanel = ({ handleChange, values }: FlexPanelPropsType) => { - { - setValue("textAlign", "left"); - }} - size="xs" - variantColor={values.textAlign === "left" ? "whatsapp" : "gray"} - variant={values.textAlign === "left" ? "solid" : "outline"} - /> + + { + setValue("textAlign", "left"); + }} + variantColor={values.textAlign === "left" ? "whatsapp" : "gray"} + variant={values.textAlign === "left" ? "solid" : "outline"} + /> - { - setValue("textAlign", "center"); - }} - size="xs" - variantColor={values.textAlign === "center" ? "whatsapp" : "gray"} - variant={values.textAlign === "center" ? "solid" : "outline"} - /> + { + setValue("textAlign", "center"); + }} + variantColor={values.textAlign === "center" ? "whatsapp" : "gray"} + variant={values.textAlign === "center" ? "solid" : "outline"} + /> - { - setValue("textAlign", "right"); - }} - size="xs" - variantColor={values.textAlign === "right" ? "whatsapp" : "gray"} - variant={values.textAlign === "right" ? "solid" : "outline"} - /> + { + setValue("textAlign", "right"); + }} + variantColor={values.textAlign === "right" ? "whatsapp" : "gray"} + variant={values.textAlign === "right" ? "solid" : "outline"} + /> - { - setValue("textAlign", "justify"); - }} - size="xs" - variantColor={values.textAlign === "justify" ? "whatsapp" : "gray"} - variant={values.textAlign === "justify" ? "solid" : "outline"} - /> + { + setValue("textAlign", "justify"); + }} + variantColor={values.textAlign === "justify" ? "whatsapp" : "gray"} + variant={values.textAlign === "justify" ? "solid" : "outline"} + /> + diff --git a/src/hooks/useDropComponent.ts b/src/hooks/useDropComponent.ts index ed7e66324d..e2261d6bf7 100644 --- a/src/hooks/useDropComponent.ts +++ b/src/hooks/useDropComponent.ts @@ -19,6 +19,9 @@ const DEFAULT_PROPS: PreviewDefaultProps = { CloseButton: {}, Tag: {}, SimpleGrid: {}, + Switch: { + isChecked: true + }, CircularProgress: {}, Checkbox: { isChecked: true diff --git a/src/index.tsx b/src/index.tsx index b06186cded..5cb17af3fc 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,22 +1,15 @@ import React from "react"; import ReactDOM from "react-dom"; import App from "./App"; -import { - ThemeProvider, - CSSReset, - ColorModeProvider, - theme -} from "@chakra-ui/core"; +import { ThemeProvider, CSSReset, theme } from "@chakra-ui/core"; import { BuilderProvider } from "./contexts/BuilderContext"; ReactDOM.render( - - - - - - + + + + , document.getElementById("root") ); diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts index ab8e38c813..5edc57ecc1 100644 --- a/src/react-app-env.d.ts +++ b/src/react-app-env.d.ts @@ -1,4 +1,5 @@ /// ; + declare module "prettier/standalone"; declare module "coloreact"; @@ -23,6 +24,7 @@ type ComponentType = | "CircularProgress" | "Heading" | "Tag" + | "Switch" | "SimpleGrid" | "Code"; @@ -71,4 +73,5 @@ type PreviewDefaultProps = { Heading?: HeadingProps; Tag?: TagProps; SimpleGrid?: SimpleGridProps; + Switch?: SwitchProps; }; diff --git a/yarn.lock b/yarn.lock index be24ebc9e6..47c63b168f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1797,7 +1797,7 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== -"@types/minimatch@*": +"@types/minimatch@*", "@types/minimatch@3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== @@ -2680,6 +2680,13 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== +backbone@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.4.0.tgz#54db4de9df7c3811c3f032f34749a4cd27f3bd12" + integrity sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ== + dependencies: + underscore ">=1.8.3" + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -5581,7 +5588,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5721,6 +5728,17 @@ handlebars@^4.1.2: optionalDependencies: uglify-js "^3.1.4" +handlebars@^4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.2.tgz#01127b3840156a0927058779482031afe0e730d7" + integrity sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw== + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -5840,6 +5858,11 @@ highlight-words-core@1.2.2: resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== +highlight.js@^9.17.1: + version "9.18.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.0.tgz#6b1763cfcd53744313bd3f31f1210f7beb962c79" + integrity sha512-A97kI1KAUzKoAiEoaGcf2O9YPS8nbDTCRFokaaeBhnqjQTvbAuAJrQMm21zw8s8xzaMtCQBtgbyGXLGxdxQyqQ== + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -6271,6 +6294,11 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" +interpret@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -7089,6 +7117,11 @@ jest@24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" +jquery@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" + integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== + js-levenshtein@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -7549,6 +7582,11 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lunr@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072" + integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg== + lz-string@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" @@ -7624,6 +7662,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +marked@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.0.tgz#ec5c0c9b93878dc52dd54be8d0e524097bd81a99" + integrity sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ== + material-colors@^1.2.1: version "1.2.6" resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" @@ -7796,7 +7839,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -9674,7 +9717,7 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.0: +progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -10297,6 +10340,13 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + recursive-readdir@2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" @@ -10600,6 +10650,13 @@ resolve@1.12.2: dependencies: path-parse "^1.0.6" +resolve@^1.1.6: + version "1.15.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" + integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== + dependencies: + path-parse "^1.0.6" + resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: version "1.13.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16" @@ -10952,6 +11009,15 @@ shell-quote@1.7.2: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== +shelljs@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" + integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -11887,7 +11953,34 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.7.5: +typedoc-default-themes@^0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz#1e9896f920b58e6da0bba9d7e643738d02405a5a" + integrity sha512-fiFKlFO6VTqjcno8w6WpTsbCgXmfPHVjnLfYkmByZE7moaz+E2DSpAT+oHtDHv7E0BM5kAhPrHJELP2J2Y2T9A== + dependencies: + backbone "^1.4.0" + jquery "^3.4.1" + lunr "^2.3.8" + underscore "^1.9.1" + +typedoc@^0.16.9: + version "0.16.9" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.16.9.tgz#d6f46f4dea7d3362029927a92981efdf896f435b" + integrity sha512-UvOGoy76yqwCXwxPgatwgXWfsQ3FczyZ6ZNLjhCPK+TsDir6LiU3YB6N9XZmPv36E+7LA860mnc8a0v6YADKFw== + dependencies: + "@types/minimatch" "3.0.3" + fs-extra "^8.1.0" + handlebars "^4.7.2" + highlight.js "^9.17.1" + lodash "^4.17.15" + marked "^0.8.0" + minimatch "^3.0.0" + progress "^2.0.3" + shelljs "^0.8.3" + typedoc-default-themes "^0.7.2" + typescript "3.7.x" + +typescript@3.7.x, typescript@^3.7.5: version "3.7.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== @@ -11913,6 +12006,11 @@ uglify-js@^3.1.4: commander "~2.20.3" source-map "~0.6.1" +underscore@>=1.8.3, underscore@^1.9.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.2.tgz#0c8d6f536d6f378a5af264a72f7bec50feb7cf2f" + integrity sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ== + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"