@webstudio-is/react-sdk 0.7.3 → 0.9.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.
Files changed (142) hide show
  1. package/lib/app/custom-components/image.d.ts +9 -0
  2. package/lib/app/custom-components/image.d.ts.map +1 -0
  3. package/lib/app/custom-components/image.js +24 -0
  4. package/lib/app/custom-components/index.d.ts +2 -0
  5. package/lib/app/custom-components/index.d.ts.map +1 -0
  6. package/lib/app/custom-components/index.js +1 -0
  7. package/lib/{cjs/remix → app}/handle-request.server.d.ts +0 -0
  8. package/lib/app/handle-request.server.d.ts.map +1 -0
  9. package/lib/{remix → app}/handle-request.server.js +0 -0
  10. package/lib/{cjs/remix → app}/index.d.ts +1 -0
  11. package/lib/app/index.d.ts.map +1 -0
  12. package/lib/{remix → app}/index.js +1 -0
  13. package/lib/app/params.d.ts +6 -0
  14. package/lib/app/params.d.ts.map +1 -0
  15. package/lib/app/params.js +6 -0
  16. package/lib/{cjs/remix → app}/root.d.ts +1 -0
  17. package/lib/app/root.d.ts.map +1 -0
  18. package/lib/{remix → app}/root.js +0 -0
  19. package/lib/cjs/app/custom-components/image.cjs +27 -0
  20. package/lib/cjs/app/custom-components/image.d.ts +9 -0
  21. package/lib/cjs/app/custom-components/image.d.ts.map +1 -0
  22. package/lib/cjs/app/custom-components/index.cjs +27 -0
  23. package/lib/cjs/app/custom-components/index.d.ts +2 -0
  24. package/lib/cjs/app/custom-components/index.d.ts.map +1 -0
  25. package/lib/cjs/{remix → app}/handle-request.server.cjs +0 -0
  26. package/lib/{remix → cjs/app}/handle-request.server.d.ts +0 -0
  27. package/lib/cjs/app/handle-request.server.d.ts.map +1 -0
  28. package/lib/cjs/{remix → app}/index.cjs +1 -0
  29. package/lib/{remix → cjs/app}/index.d.ts +1 -0
  30. package/lib/cjs/app/index.d.ts.map +1 -0
  31. package/lib/cjs/app/params.cjs +11 -0
  32. package/lib/cjs/app/params.d.ts +6 -0
  33. package/lib/cjs/app/params.d.ts.map +1 -0
  34. package/lib/cjs/{remix → app}/root.cjs +0 -0
  35. package/lib/{remix → cjs/app}/root.d.ts +1 -0
  36. package/lib/cjs/app/root.d.ts.map +1 -0
  37. package/lib/cjs/components/{body.props.json → __generated__/body.props.json} +0 -0
  38. package/lib/cjs/components/{bold.props.json → __generated__/bold.props.json} +0 -0
  39. package/lib/cjs/components/{box.props.json → __generated__/box.props.json} +0 -0
  40. package/lib/cjs/components/{button.props.json → __generated__/button.props.json} +0 -0
  41. package/lib/cjs/components/{form.props.json → __generated__/form.props.json} +0 -0
  42. package/lib/cjs/components/{heading.props.json → __generated__/heading.props.json} +0 -0
  43. package/lib/{components → cjs/components/__generated__}/image.props.json +0 -15
  44. package/lib/cjs/components/{input.props.json → __generated__/input.props.json} +0 -0
  45. package/lib/cjs/components/{italic.props.json → __generated__/italic.props.json} +0 -0
  46. package/lib/cjs/components/{link.props.json → __generated__/link.props.json} +0 -0
  47. package/lib/cjs/components/{paragraph.props.json → __generated__/paragraph.props.json} +0 -0
  48. package/lib/cjs/components/{span.props.json → __generated__/span.props.json} +0 -0
  49. package/lib/cjs/components/{subscript.props.json → __generated__/subscript.props.json} +0 -0
  50. package/lib/cjs/components/{superscript.props.json → __generated__/superscript.props.json} +0 -0
  51. package/lib/cjs/components/{text-block.props.json → __generated__/text-block.props.json} +0 -0
  52. package/lib/cjs/components/index.cjs +75 -31
  53. package/lib/cjs/components/index.d.ts +89 -15
  54. package/lib/cjs/components/index.d.ts.map +1 -1
  55. package/lib/cjs/components/index.test.cjs +3 -29
  56. package/lib/cjs/components/italic.ws.cjs +7 -0
  57. package/lib/cjs/components/italic.ws.d.ts.map +1 -1
  58. package/lib/cjs/components/meta.cjs +20 -18
  59. package/lib/cjs/components/meta.d.ts +1 -16
  60. package/lib/cjs/components/meta.d.ts.map +1 -1
  61. package/lib/cjs/css/categories.d.ts +1 -0
  62. package/lib/cjs/css/categories.d.ts.map +1 -1
  63. package/lib/cjs/css/get-browser-style.cjs +2 -1
  64. package/lib/cjs/css/get-browser-style.d.ts.map +1 -1
  65. package/lib/cjs/db/instance.d.ts +2 -2
  66. package/lib/cjs/db/instance.d.ts.map +1 -1
  67. package/lib/cjs/index.cjs +4 -3
  68. package/lib/cjs/index.d.ts +3 -2
  69. package/lib/cjs/index.d.ts.map +1 -1
  70. package/lib/cjs/tree/root.cjs +28 -0
  71. package/lib/cjs/tree/root.d.ts +2 -0
  72. package/lib/cjs/tree/root.d.ts.map +1 -1
  73. package/lib/cjs/tree/session-storage-polyfill.d.ts +1 -0
  74. package/lib/cjs/tree/session-storage-polyfill.d.ts.map +1 -1
  75. package/lib/cjs/tree/wrapper-component.cjs +2 -25
  76. package/lib/cjs/tree/wrapper-component.d.ts +1 -0
  77. package/lib/cjs/tree/wrapper-component.d.ts.map +1 -1
  78. package/lib/cjs/user-props/use-user-props-asset.cjs +22 -0
  79. package/lib/cjs/user-props/use-user-props-asset.d.ts +8 -0
  80. package/lib/cjs/user-props/use-user-props-asset.d.ts.map +1 -0
  81. package/lib/cjs/user-props/use-user-props.cjs +2 -12
  82. package/lib/cjs/user-props/use-user-props.d.ts.map +1 -1
  83. package/lib/components/{body.props.json → __generated__/body.props.json} +0 -0
  84. package/lib/components/{bold.props.json → __generated__/bold.props.json} +0 -0
  85. package/lib/components/{box.props.json → __generated__/box.props.json} +0 -0
  86. package/lib/components/{button.props.json → __generated__/button.props.json} +0 -0
  87. package/lib/components/{form.props.json → __generated__/form.props.json} +0 -0
  88. package/lib/components/{heading.props.json → __generated__/heading.props.json} +0 -0
  89. package/lib/{cjs/components → components/__generated__}/image.props.json +0 -15
  90. package/lib/components/{input.props.json → __generated__/input.props.json} +0 -0
  91. package/lib/components/{italic.props.json → __generated__/italic.props.json} +0 -0
  92. package/lib/components/{link.props.json → __generated__/link.props.json} +0 -0
  93. package/lib/components/{paragraph.props.json → __generated__/paragraph.props.json} +0 -0
  94. package/lib/components/{span.props.json → __generated__/span.props.json} +0 -0
  95. package/lib/components/{subscript.props.json → __generated__/subscript.props.json} +0 -0
  96. package/lib/components/{superscript.props.json → __generated__/superscript.props.json} +0 -0
  97. package/lib/components/{text-block.props.json → __generated__/text-block.props.json} +0 -0
  98. package/lib/components/index.d.ts +89 -15
  99. package/lib/components/index.d.ts.map +1 -1
  100. package/lib/components/index.js +70 -15
  101. package/lib/components/index.test.js +3 -6
  102. package/lib/components/italic.ws.d.ts.map +1 -1
  103. package/lib/components/italic.ws.js +7 -0
  104. package/lib/components/meta.d.ts +1 -16
  105. package/lib/components/meta.d.ts.map +1 -1
  106. package/lib/components/meta.js +18 -17
  107. package/lib/css/categories.d.ts +1 -0
  108. package/lib/css/categories.d.ts.map +1 -1
  109. package/lib/css/get-browser-style.d.ts.map +1 -1
  110. package/lib/css/get-browser-style.js +2 -1
  111. package/lib/db/instance.d.ts +2 -2
  112. package/lib/db/instance.d.ts.map +1 -1
  113. package/lib/index.d.ts +3 -2
  114. package/lib/index.d.ts.map +1 -1
  115. package/lib/index.js +3 -2
  116. package/lib/tree/root.d.ts +2 -0
  117. package/lib/tree/root.d.ts.map +1 -1
  118. package/lib/tree/root.js +5 -0
  119. package/lib/tree/session-storage-polyfill.d.ts +1 -0
  120. package/lib/tree/session-storage-polyfill.d.ts.map +1 -1
  121. package/lib/tree/wrapper-component.d.ts +1 -0
  122. package/lib/tree/wrapper-component.d.ts.map +1 -1
  123. package/lib/tree/wrapper-component.js +2 -2
  124. package/lib/tsconfig.tsbuildinfo +1 -1
  125. package/lib/user-props/use-user-props-asset.d.ts +8 -0
  126. package/lib/user-props/use-user-props-asset.d.ts.map +1 -0
  127. package/lib/user-props/use-user-props-asset.js +18 -0
  128. package/lib/user-props/use-user-props.d.ts.map +1 -1
  129. package/lib/user-props/use-user-props.js +3 -13
  130. package/package.json +7 -8
  131. package/lib/arg-types/utils.d.ts +0 -10
  132. package/lib/arg-types/utils.d.ts.map +0 -1
  133. package/lib/arg-types/utils.js +0 -83
  134. package/lib/cjs/arg-types/utils.cjs +0 -88
  135. package/lib/cjs/arg-types/utils.d.ts +0 -10
  136. package/lib/cjs/arg-types/utils.d.ts.map +0 -1
  137. package/lib/cjs/remix/handle-request.server.d.ts.map +0 -1
  138. package/lib/cjs/remix/index.d.ts.map +0 -1
  139. package/lib/cjs/remix/root.d.ts.map +0 -1
  140. package/lib/remix/handle-request.server.d.ts.map +0 -1
  141. package/lib/remix/index.d.ts.map +0 -1
  142. package/lib/remix/root.d.ts.map +0 -1
@@ -0,0 +1,8 @@
1
+ import { type Instance } from "../db";
2
+ import { type UserProp } from "./schema";
3
+ import type { Asset } from "@webstudio-is/asset-uploader";
4
+ /**
5
+ * Get asset for prop, like src on the Image component
6
+ */
7
+ export declare const useUserPropsAsset: (instanceId: Instance["id"], propName: UserProp["prop"]) => Asset | null;
8
+ //# sourceMappingURL=use-user-props-asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-user-props-asset.d.ts","sourceRoot":"","sources":["../../src/user-props/use-user-props-asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAChB,QAAQ,CAAC,IAAI,CAAC,YAChB,QAAQ,CAAC,MAAM,CAAC,KACzB,KAAK,GAAG,IAaV,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { useMemo } from "react";
2
+ import { useAllUserProps } from "./all-user-props";
3
+ /**
4
+ * Get asset for prop, like src on the Image component
5
+ */
6
+ export const useUserPropsAsset = (instanceId, propName) => {
7
+ const [allUserProps] = useAllUserProps();
8
+ const propsData = allUserProps[instanceId];
9
+ const asset = useMemo(() => {
10
+ if (propsData == null)
11
+ return null;
12
+ const prop = propsData.props.find((prop) => prop.prop === propName);
13
+ if (prop == null)
14
+ return null;
15
+ return prop.asset ?? null;
16
+ }, [propName, propsData]);
17
+ return asset;
18
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"use-user-props.d.ts","sourceRoot":"","sources":["../../src/user-props/use-user-props.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,aAAK,SAAS,GAAG;IAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,YAAY,eAAgB,QAAQ,CAAC,IAAI,CAAC,cAwBtD,CAAC"}
1
+ {"version":3,"file":"use-user-props.d.ts","sourceRoot":"","sources":["../../src/user-props/use-user-props.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,aAAK,SAAS,GAAG;IAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,YAAY,eAAgB,QAAQ,CAAC,IAAI,CAAC,cAatD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { useEffect, useMemo, useState } from "react";
1
+ import { useMemo } from "react";
2
2
  import { useAllUserProps } from "./all-user-props";
3
3
  /**
4
4
  * User props mapped in prop:value format,
@@ -7,23 +7,13 @@ import { useAllUserProps } from "./all-user-props";
7
7
  export const useUserProps = (instanceId) => {
8
8
  const [allUserProps] = useAllUserProps();
9
9
  const propsData = allUserProps[instanceId];
10
- const initialUserProps = useMemo(() => {
11
- if (propsData === undefined)
10
+ const props = useMemo(() => {
11
+ if (propsData == null)
12
12
  return {};
13
13
  return propsData.props.reduce((props, { prop, value }) => {
14
14
  props[prop] = value;
15
15
  return props;
16
16
  }, {});
17
17
  }, [propsData]);
18
- const [props, setProps] = useState(initialUserProps);
19
- useEffect(() => {
20
- if (propsData == undefined)
21
- return;
22
- const nextProps = {};
23
- for (const prop of propsData.props) {
24
- nextProps[prop.prop] = prop.value;
25
- }
26
- setProps(nextProps);
27
- }, [propsData]);
28
18
  return props;
29
19
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webstudio-is/react-sdk",
3
- "version": "0.7.3",
3
+ "version": "0.9.0",
4
4
  "description": "Webstudio JavaScript / TypeScript API",
5
5
  "author": "Webstudio <github@webstudio.is>",
6
6
  "homepage": "https://webstudio.is",
@@ -8,7 +8,7 @@
8
8
  "scripts": {
9
9
  "dev": "tsup --watch",
10
10
  "build": "yarn build:lib",
11
- "build:args": "tsx ./bin/generate-arg-types.ts './src/components/*.tsx !./src/**/*.stories.tsx !./src/**/*.ws.tsx'",
11
+ "build:args": "generate-arg-types './src/components/*.tsx !./src/**/*.stories.tsx !./src/**/*.ws.tsx' && prettier --write \"**/*.props.json\"",
12
12
  "typecheck": "tsc --noEmit",
13
13
  "build:cjs": "tsc --module commonjs --outDir lib/cjs && find lib/cjs -name '*.js' | while read NAME; do mv $NAME ${NAME%.js}.cjs; done",
14
14
  "build:lib": "rm -fr lib tsconfig.tsbuildinfo && tsc && yarn build:cjs",
@@ -17,7 +17,8 @@
17
17
  "checks": "yarn typecheck && yarn lint && yarn test",
18
18
  "prepublishOnly": "yarn checks && yarn build:lib",
19
19
  "storybook:run": "start-storybook -p 6006",
20
- "storybook:build": "build-storybook"
20
+ "storybook:build": "build-storybook",
21
+ "publish-to-npm": "bash ../../bin/publish-to-npm.sh"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@babel/core": "^7.20.2",
@@ -32,15 +33,13 @@
32
33
  "@storybook/manager-webpack4": "^6.5.6",
33
34
  "@storybook/react": "^6.5.6",
34
35
  "@storybook/testing-library": "^0.0.11",
35
- "@types/fs-extra": "^9.0.13",
36
36
  "@types/node": "^17.0.21",
37
37
  "@webstudio-is/jest-config": "*",
38
- "@webstudio-is/prisma-client": "*",
38
+ "@webstudio-is/generate-arg-types": "*",
39
39
  "babel-loader": "^8.2.5",
40
40
  "esbuild": "^0.14.25",
41
41
  "esbuild-node-externals": "^1.4.1",
42
42
  "react": "^17.0.2",
43
- "react-docgen-typescript": "^2.2.2",
44
43
  "react-dom": "^17.0.2",
45
44
  "remix-utils": "^4.1.0",
46
45
  "tsup": "^6.1.3",
@@ -61,9 +60,9 @@
61
60
  "detect-font": "^0.1.5",
62
61
  "@webstudio-is/asset-uploader": "^*",
63
62
  "@webstudio-is/css-data": "*",
64
- "@webstudio-is/fonts": "*",
65
63
  "@webstudio-is/icons": "*",
66
- "@webstudio-is/jest-config": "*",
64
+ "@webstudio-is/image": "*",
65
+ "@webstudio-is/prisma-client": "*",
67
66
  "immer": "^9.0.12",
68
67
  "mitt": "^3.0.0",
69
68
  "react-nano-state": "^0.4.0",
@@ -1,10 +0,0 @@
1
- import { PropItem } from "react-docgen-typescript";
2
- export declare type FilterPredicate = (prop: PropItem) => boolean;
3
- export declare const propsToArgTypes: (props: Record<string, PropItem>, filter?: FilterPredicate) => Record<string, any>;
4
- export declare const getArgType: (propItem: any) => {
5
- type: string;
6
- defaultValue: any;
7
- options: any;
8
- required: any;
9
- } | null | undefined;
10
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/arg-types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,oBAAY,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAa1D,eAAO,MAAM,eAAe,UACnB,OAAO,MAAM,EAAE,QAAQ,CAAC,WACtB,eAAe,wBAqBzB,CAAC;AAQF,eAAO,MAAM,UAAU,aAAc,GAAG;;;;;oBAqDvC,CAAC"}
@@ -1,83 +0,0 @@
1
- const validAttributes = (prop) => {
2
- if (prop.parent) {
3
- // Pass *HTML (both ButtonHTMLAttributes and HTMLAttributes), Aria, and SVG attributes through
4
- const matcher = /.?(HTML|SVG|Aria)Attributes/;
5
- // TODO: Add a test for this
6
- return prop.parent.name.match(matcher);
7
- }
8
- // Always allow component's own props
9
- return true;
10
- };
11
- export const propsToArgTypes = (props, filter) => {
12
- const filterFn = filter ?? validAttributes;
13
- const entries = Object.entries(props);
14
- return entries.reduce((result, current) => {
15
- // @todo need halp
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- const [propName, prop] = current;
18
- // Filter out props
19
- if (!filterFn(prop)) {
20
- return result;
21
- }
22
- const argType = getArgType(prop);
23
- if (argType != null) {
24
- result[propName] = argType;
25
- }
26
- return result;
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- }, {});
29
- };
30
- const matchers = {
31
- color: new RegExp("(background|color)", "i"),
32
- date: /Date$/,
33
- };
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- export const getArgType = (propItem) => {
36
- const { type, name } = propItem;
37
- if (!type) {
38
- return undefined;
39
- }
40
- const overrides = {
41
- defaultValue: propItem.defaultValue?.value ?? null,
42
- options: propItem.options,
43
- required: propItem.required,
44
- };
45
- // args that end with background or color e.g. iconColor
46
- if (matchers.color && matchers.color.test(name)) {
47
- const controlType = propItem.type.name;
48
- if (controlType === "string") {
49
- return { ...overrides, type: "color" };
50
- }
51
- }
52
- // args that end with date e.g. purchaseDate
53
- if (matchers.date && matchers.date.test(name)) {
54
- return { ...overrides, type: "date" };
55
- }
56
- switch (type?.name) {
57
- case "array":
58
- return { ...overrides, type: "object" };
59
- case "boolean":
60
- case "Booleanish":
61
- return { ...overrides, type: "boolean" };
62
- case "string":
63
- return { ...overrides, type: "text" };
64
- case "number":
65
- return { ...overrides, type: "number" };
66
- case "enum": {
67
- const { value } = type;
68
- // Remove additional quotes from enum values
69
- // @ts-expect-error Original type has `any` type
70
- const values = value.map((val) => val.value.replace(/^"(.+)"$/, "$1"));
71
- return {
72
- ...overrides,
73
- type: values?.length <= 5 ? "radio" : "select",
74
- options: values,
75
- };
76
- }
77
- case "function":
78
- case "symbol":
79
- return null;
80
- default:
81
- return { ...overrides, type: "text" };
82
- }
83
- };
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getArgType = exports.propsToArgTypes = void 0;
4
- const validAttributes = (prop) => {
5
- if (prop.parent) {
6
- // Pass *HTML (both ButtonHTMLAttributes and HTMLAttributes), Aria, and SVG attributes through
7
- const matcher = /.?(HTML|SVG|Aria)Attributes/;
8
- // TODO: Add a test for this
9
- return prop.parent.name.match(matcher);
10
- }
11
- // Always allow component's own props
12
- return true;
13
- };
14
- const propsToArgTypes = (props, filter) => {
15
- const filterFn = filter ?? validAttributes;
16
- const entries = Object.entries(props);
17
- return entries.reduce((result, current) => {
18
- // @todo need halp
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- const [propName, prop] = current;
21
- // Filter out props
22
- if (!filterFn(prop)) {
23
- return result;
24
- }
25
- const argType = (0, exports.getArgType)(prop);
26
- if (argType != null) {
27
- result[propName] = argType;
28
- }
29
- return result;
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
- }, {});
32
- };
33
- exports.propsToArgTypes = propsToArgTypes;
34
- const matchers = {
35
- color: new RegExp("(background|color)", "i"),
36
- date: /Date$/,
37
- };
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
- const getArgType = (propItem) => {
40
- const { type, name } = propItem;
41
- if (!type) {
42
- return undefined;
43
- }
44
- const overrides = {
45
- defaultValue: propItem.defaultValue?.value ?? null,
46
- options: propItem.options,
47
- required: propItem.required,
48
- };
49
- // args that end with background or color e.g. iconColor
50
- if (matchers.color && matchers.color.test(name)) {
51
- const controlType = propItem.type.name;
52
- if (controlType === "string") {
53
- return { ...overrides, type: "color" };
54
- }
55
- }
56
- // args that end with date e.g. purchaseDate
57
- if (matchers.date && matchers.date.test(name)) {
58
- return { ...overrides, type: "date" };
59
- }
60
- switch (type?.name) {
61
- case "array":
62
- return { ...overrides, type: "object" };
63
- case "boolean":
64
- case "Booleanish":
65
- return { ...overrides, type: "boolean" };
66
- case "string":
67
- return { ...overrides, type: "text" };
68
- case "number":
69
- return { ...overrides, type: "number" };
70
- case "enum": {
71
- const { value } = type;
72
- // Remove additional quotes from enum values
73
- // @ts-expect-error Original type has `any` type
74
- const values = value.map((val) => val.value.replace(/^"(.+)"$/, "$1"));
75
- return {
76
- ...overrides,
77
- type: values?.length <= 5 ? "radio" : "select",
78
- options: values,
79
- };
80
- }
81
- case "function":
82
- case "symbol":
83
- return null;
84
- default:
85
- return { ...overrides, type: "text" };
86
- }
87
- };
88
- exports.getArgType = getArgType;
@@ -1,10 +0,0 @@
1
- import { PropItem } from "react-docgen-typescript";
2
- export declare type FilterPredicate = (prop: PropItem) => boolean;
3
- export declare const propsToArgTypes: (props: Record<string, PropItem>, filter?: FilterPredicate) => Record<string, any>;
4
- export declare const getArgType: (propItem: any) => {
5
- type: string;
6
- defaultValue: any;
7
- options: any;
8
- required: any;
9
- } | null | undefined;
10
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/arg-types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,oBAAY,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAa1D,eAAO,MAAM,eAAe,UACnB,OAAO,MAAM,EAAE,QAAQ,CAAC,WACtB,eAAe,wBAqBzB,CAAC;AAQF,eAAO,MAAM,UAAU,aAAc,GAAG;;;;;oBAqDvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-request.server.d.ts","sourceRoot":"","sources":["../../../src/remix/handle-request.server.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,aAAa,YACf,OAAO,sBACI,MAAM,mBACT,OAAO,gBACV,YAAY,aAY3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remix/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/remix/root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGxE;;GAEG;AACH,eAAO,MAAM,IAAI;YAGP,oBAAoB;iBAiB7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-request.server.d.ts","sourceRoot":"","sources":["../../src/remix/handle-request.server.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,aAAa,YACf,OAAO,sBACI,MAAM,mBACT,OAAO,gBACV,YAAY,aAY3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remix/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/remix/root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGxE;;GAEG;AACH,eAAO,MAAM,IAAI;YAGP,oBAAoB;iBAiB7B,CAAC"}