@kaspernj/api-maker 1.0.2167 → 1.0.2168

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.
@@ -1,11 +1,8 @@
1
1
  export default class ApiMakerBootstrapInvalidFeedback extends React.PureComponent<any, any, any> {
2
- static propTypes: PropTypes.ValidationMap<{
3
- errors: any[];
4
- }>;
2
+ static propTypes: ValidationMap<T>;
5
3
  constructor(props: any);
6
4
  render(): import("react/jsx-runtime").JSX.Element;
7
5
  errorMessages(): any[];
8
6
  }
9
7
  import React from "react";
10
- import PropTypes from "prop-types";
11
8
  //# sourceMappingURL=invalid-feedback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invalid-feedback.d.ts","sourceRoot":"/src/","sources":["bootstrap/invalid-feedback.jsx"],"names":[],"mappings":"AAMA;IACE;;OAEE;;IAEF,kDAMC;IAED,uBAWC;CACF;kBA3BiB,OAAO;sBAFH,YAAY"}
1
+ {"version":3,"file":"invalid-feedback.d.ts","sourceRoot":"/src/","sources":["bootstrap/invalid-feedback.jsx"],"names":[],"mappings":"AAMA;IACE,mCAEE;;IAEF,kDAMC;IAED,uBAWC;CACF;kBA3BiB,OAAO"}
@@ -2,12 +2,7 @@ export default class ApiMakerEventConnection extends React.PureComponent<any, an
2
2
  static defaultProps: {
3
3
  active: boolean;
4
4
  };
5
- static propTypes: PropTypes.ValidationMap<{
6
- active: boolean;
7
- model: object;
8
- event: string;
9
- onCall: (...args: any[]) => any;
10
- }>;
5
+ static propTypes: ValidationMap<T>;
11
6
  constructor(props: any);
12
7
  componentDidMount(): void;
13
8
  subscription: import("./cable-subscription.js").default;
@@ -16,5 +11,4 @@ export default class ApiMakerEventConnection extends React.PureComponent<any, an
16
11
  onCall(...args: any[]): void;
17
12
  }
18
13
  import React from "react";
19
- import PropTypes from "prop-types";
20
14
  //# sourceMappingURL=event-connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-connection.d.ts","sourceRoot":"/src/","sources":["event-connection.jsx"],"names":[],"mappings":"AAMA;IACE;;MAEC;IAED;;;;;OAKE;;IAEF,0BAEC;IADC,wDAA8G;IAGhH,6BAIC;IAED,cAEC;IAED,6BAIC;CACF;kBAlCiB,OAAO;sBADH,YAAY"}
1
+ {"version":3,"file":"event-connection.d.ts","sourceRoot":"/src/","sources":["event-connection.jsx"],"names":[],"mappings":"AAMA;IACE;;MAEC;IAED,mCAKE;;IAEF,0BAEC;IADC,wDAA8G;IAGhH,6BAIC;IAED,cAEC;IAED,6BAIC;CACF;kBAlCiB,OAAO"}
@@ -1,9 +1,5 @@
1
1
  export default class ApiMakerEventModelClass extends React.PureComponent<any, any, any> {
2
- static propTypes: PropTypes.ValidationMap<{
3
- event: string;
4
- modelClass: (...args: any[]) => any;
5
- onCall: (...args: any[]) => any;
6
- }>;
2
+ static propTypes: ValidationMap<T>;
7
3
  constructor(props: any);
8
4
  componentDidMount(): void;
9
5
  componentWillUnmount(): void;
@@ -12,5 +8,4 @@ export default class ApiMakerEventModelClass extends React.PureComponent<any, an
12
8
  render(): any;
13
9
  }
14
10
  import React from "react";
15
- import PropTypes from "prop-types";
16
11
  //# sourceMappingURL=event-model-class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-model-class.d.ts","sourceRoot":"/src/","sources":["event-model-class.jsx"],"names":[],"mappings":"AAMA;IACE;;;;OAIE;;IAEF,0BAEC;IAED,6BAIC;IAED,gBAEC;IADC,sDAA2G;IAG7G,cAEC;CACF;kBA3BiB,OAAO;sBADH,YAAY"}
1
+ {"version":3,"file":"event-model-class.d.ts","sourceRoot":"/src/","sources":["event-model-class.jsx"],"names":[],"mappings":"AAMA;IACE,mCAIE;;IAEF,0BAEC;IAED,6BAIC;IAED,gBAEC;IADC,sDAA2G;IAG7G,cAEC;CACF;kBA3BiB,OAAO"}
@@ -1,9 +1,5 @@
1
1
  export default class ApiMakerUpdatedAttribute extends React.PureComponent<any, any, any> {
2
- static propTypes: PropTypes.ValidationMap<{
3
- attribute: string;
4
- model: object;
5
- onValue: (...args: any[]) => any;
6
- }>;
2
+ static propTypes: ValidationMap<T>;
7
3
  constructor(props: any);
8
4
  state: {
9
5
  model: any;
@@ -17,5 +13,4 @@ export default class ApiMakerUpdatedAttribute extends React.PureComponent<any, a
17
13
  render(): any;
18
14
  }
19
15
  import React from "react";
20
- import PropTypes from "prop-types";
21
16
  //# sourceMappingURL=updated-attribute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updated-attribute.d.ts","sourceRoot":"/src/","sources":["updated-attribute.jsx"],"names":[],"mappings":"AAQA;IACE;;;;OAIE;IAEF,wBAKC;IAHC;;MAEC;IAGH,0BAGC;IAED,6BAKC;IAED,gBAWC;IAVC,0DASE;IAIJ,wCAqBC;IAED,qBAgBC;IAED,cAIC;CACF;kBAxFiB,OAAO;sBAFH,YAAY"}
1
+ {"version":3,"file":"updated-attribute.d.ts","sourceRoot":"/src/","sources":["updated-attribute.jsx"],"names":[],"mappings":"AAQA;IACE,mCAIE;IAEF,wBAKC;IAHC;;MAEC;IAGH,0BAGC;IAED,6BAKC;IAED,gBAWC;IAVC,0DASE;IAIJ,wCAqBC;IAED,qBAgBC;IAED,cAIC;CACF;kBAxFiB,OAAO"}
@@ -4,12 +4,20 @@ export type WithDefaultStyleProps = {
4
4
  children?: React.ReactNode;
5
5
  style: DefaultStyleMap;
6
6
  };
7
+ /**
8
+ * Pure helper: collapse the inherited default for a slot plus the caller's
9
+ * style into a flat list ready to pass to the underlying RN element.
10
+ * @param {DefaultStyleValue | undefined} defaultElementStyle
11
+ * @param {DefaultStyleValue | undefined} style
12
+ * @returns {DefaultStyleValue[]}
13
+ */
14
+ export function computeSlotStylesList(defaultElementStyle: DefaultStyleValue | undefined, style: DefaultStyleValue | undefined): DefaultStyleValue[];
7
15
  export function useDefaultStyle(): DefaultStyleMap;
8
16
  export function useMergedStyle(style: any, elementType: any): {
9
17
  newDefaultStyle: {
10
18
  [x: string]: DefaultStyleValue;
11
19
  };
12
- stylesList: (import("react-native").ViewStyle | import("react-native").Falsy | import("react-native").ImageStyle | import("react-native").TextStyle | import("react-native").RegisteredStyle<import("react-native").ViewStyle | import("react-native").ImageStyle | import("react-native").TextStyle> | import("react-native").RecursiveArray<import("react-native").ViewStyle | import("react-native").Falsy | import("react-native").ImageStyle | import("react-native").TextStyle | import("react-native").RegisteredStyle<import("react-native").ViewStyle | import("react-native").ImageStyle | import("react-native").TextStyle>> | readonly (import("react-native").ViewStyle | import("react-native").Falsy | import("react-native").ImageStyle | import("react-native").TextStyle | import("react-native").RegisteredStyle<import("react-native").ViewStyle | import("react-native").ImageStyle | import("react-native").TextStyle>)[])[];
20
+ stylesList: DefaultStyleValue[];
13
21
  };
14
22
  export const WithDefaultStyle: React.NamedExoticComponent<WithDefaultStyleProps>;
15
23
  import React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"default-style.d.ts","sourceRoot":"/src/","sources":["utils/default-style.jsx"],"names":[],"mappings":"gCAMa,OAAO,cAAc,EAAE,SAAS,CAC5C,OAAW,cAAc,EAAE,SAAS,GAAG,OAAO,cAAc,EAAE,SAAS,GAAG,OAAO,cAAc,EAAE,UAAU,CACxG;8BAEU,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;oCACjC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAC;AAMlE,mDAIC;AAED;;;;;EAmCC;AAED,iFA2BE;kBAtFsD,OAAO"}
1
+ {"version":3,"file":"default-style.d.ts","sourceRoot":"/src/","sources":["utils/default-style.jsx"],"names":[],"mappings":"gCAMa,OAAO,cAAc,EAAE,SAAS,CAC5C,OAAW,cAAc,EAAE,SAAS,GAAG,OAAO,cAAc,EAAE,SAAS,GAAG,OAAO,cAAc,EAAE,UAAU,CACxG;8BAEU,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;oCACjC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAC;AAUlE;;;;;;GAMG;AACH,2DAJW,iBAAiB,GAAG,SAAS,SAC7B,iBAAiB,GAAG,SAAS,GAC3B,iBAAiB,EAAE,CAsB/B;AAjCD,mDAIC;AA+BD;;;;;EAiBC;AAED,iFAoBE;kBAxFsD,OAAO"}
@@ -10,37 +10,42 @@ import memo from "set-state-compare/build/memo.js";
10
10
  */
11
11
  /** @typedef {Record<string, DefaultStyleValue>} DefaultStyleMap */
12
12
  /** @typedef {{children?: React.ReactNode, style: DefaultStyleMap}} WithDefaultStyleProps */
13
- const DefaultStyleContext = createContext(/** @type {DefaultStyleMap} */ ({
14
- Text: []
15
- }));
13
+ const DefaultStyleContext = createContext(/** @type {DefaultStyleMap} */ ({}));
16
14
  const useDefaultStyle = () => {
17
15
  const defaultStyle = useContext(DefaultStyleContext);
18
16
  return defaultStyle;
19
17
  };
18
+ /**
19
+ * Pure helper: collapse the inherited default for a slot plus the caller's
20
+ * style into a flat list ready to pass to the underlying RN element.
21
+ * @param {DefaultStyleValue | undefined} defaultElementStyle
22
+ * @param {DefaultStyleValue | undefined} style
23
+ * @returns {DefaultStyleValue[]}
24
+ */
25
+ const computeSlotStylesList = (defaultElementStyle, style) => {
26
+ let stylesList;
27
+ if (defaultElementStyle === undefined || defaultElementStyle === null) {
28
+ stylesList = [];
29
+ }
30
+ else if (Array.isArray(defaultElementStyle)) {
31
+ stylesList = [...defaultElementStyle];
32
+ }
33
+ else {
34
+ stylesList = [defaultElementStyle];
35
+ }
36
+ if (style && Array.isArray(style)) {
37
+ for (const styleI of style) {
38
+ stylesList.push(styleI);
39
+ }
40
+ }
41
+ else if (style) {
42
+ stylesList.push(style);
43
+ }
44
+ return stylesList;
45
+ };
20
46
  const useMergedStyle = (style, elementType) => {
21
47
  const defaultStyle = useDefaultStyle();
22
- const stylesList = useMemo(() => {
23
- const defaultElementStyle = defaultStyle[elementType];
24
- let stylesList;
25
- if (Array.isArray(defaultElementStyle)) {
26
- stylesList = [...defaultElementStyle];
27
- }
28
- else if (typeof defaultElementStyle == "object") {
29
- stylesList = [defaultElementStyle];
30
- }
31
- else {
32
- throw new Error(`Unknown type for default element type: ${typeof defaultElementStyle}`);
33
- }
34
- if (style && Array.isArray(style)) {
35
- for (const styleI of style) {
36
- stylesList.push(styleI);
37
- }
38
- }
39
- else if (style) {
40
- stylesList.push(style);
41
- }
42
- return stylesList;
43
- }, [defaultStyle, elementType, style]);
48
+ const stylesList = useMemo(() => computeSlotStylesList(defaultStyle[elementType], style), [defaultStyle, elementType, style]);
44
49
  const actualNewDefaultStyle = useMemo(() => {
45
50
  const actualNewDefaultStyle = { ...defaultStyle };
46
51
  actualNewDefaultStyle[elementType] = stylesList;
@@ -54,17 +59,11 @@ const WithDefaultStyle = memo((/** @type {WithDefaultStyleProps} */ { children,
54
59
  }
55
60
  const defaultStyle = useContext(DefaultStyleContext);
56
61
  const newDefaultStyle = useMemo(() => {
57
- for (const key in style) {
58
- if (!(key in defaultStyle)) {
59
- throw new Error(`Invalid element type given: ${key}`);
60
- }
61
- }
62
- /** @type {DefaultStyleMap} */
63
- const newDefaultStyle = {};
62
+ const newDefaultStyle = /** @type {DefaultStyleMap} */ ({});
64
63
  incorporate(newDefaultStyle, defaultStyle, style);
65
64
  return newDefaultStyle;
66
65
  }, [defaultStyle, style]);
67
66
  return (_jsx(DefaultStyleContext.Provider, { value: newDefaultStyle, children: children }));
68
67
  });
69
- export { useDefaultStyle, useMergedStyle, WithDefaultStyle };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXRpbHMvZGVmYXVsdC1zdHlsZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQ7Ozs7R0FJRztBQUNILG1FQUFtRTtBQUNuRSw0RkFBNEY7QUFFNUYsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUN4RSxJQUFJLEVBQUUsRUFBRTtDQUNULENBQUMsQ0FBQyxDQUFBO0FBRUgsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBRXBELE9BQU8sWUFBWSxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQUVELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFO0lBQzVDLE1BQU0sWUFBWSxHQUFHLGVBQWUsRUFBRSxDQUFBO0lBRXRDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDckQsSUFBSSxVQUFVLENBQUE7UUFFZCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLFVBQVUsR0FBRyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQTtRQUN2QyxDQUFDO2FBQU0sSUFBSSxPQUFPLG1CQUFtQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2xELFVBQVUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDcEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxPQUFPLG1CQUFtQixFQUFFLENBQUMsQ0FBQTtRQUN6RixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDekIsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEIsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFBO0lBQ25CLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUV0QyxNQUFNLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDekMsTUFBTSxxQkFBcUIsR0FBRyxFQUFDLEdBQUcsWUFBWSxFQUFDLENBQUE7UUFFL0MscUJBQXFCLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFBO1FBRS9DLE9BQU8scUJBQXFCLENBQUE7SUFDOUIsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFDLENBQUE7QUFDN0QsQ0FBQyxDQUFBO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLEVBQUMsRUFBRSxFQUFFO0lBQ3JHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVwRCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ25DLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUE7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFBO1FBRTFCLFdBQVcsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBRWpELE9BQU8sZUFBZSxDQUFBO0lBQ3hCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBRXpCLE9BQU8sQ0FDTCxLQUFDLG1CQUFtQixDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsZUFBZSxZQUNqRCxRQUFRLEdBQ29CLENBQ2hDLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVGLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbmltcG9ydCBSZWFjdCwge2NyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlN0eWxlUHJvcDxcbiAqICAgaW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlRleHRTdHlsZSB8IGltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5WaWV3U3R5bGUgfCBpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuSW1hZ2VTdHlsZVxuICogPn0gRGVmYXVsdFN0eWxlVmFsdWVcbiAqL1xuLyoqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBEZWZhdWx0U3R5bGVWYWx1ZT59IERlZmF1bHRTdHlsZU1hcCAqL1xuLyoqIEB0eXBlZGVmIHt7Y2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGUsIHN0eWxlOiBEZWZhdWx0U3R5bGVNYXB9fSBXaXRoRGVmYXVsdFN0eWxlUHJvcHMgKi9cblxuY29uc3QgRGVmYXVsdFN0eWxlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoLyoqIEB0eXBlIHtEZWZhdWx0U3R5bGVNYXB9ICovICh7XG4gIFRleHQ6IFtdXG59KSlcblxuY29uc3QgdXNlRGVmYXVsdFN0eWxlID0gKCkgPT4ge1xuICBjb25zdCBkZWZhdWx0U3R5bGUgPSB1c2VDb250ZXh0KERlZmF1bHRTdHlsZUNvbnRleHQpXG5cbiAgcmV0dXJuIGRlZmF1bHRTdHlsZVxufVxuXG5jb25zdCB1c2VNZXJnZWRTdHlsZSA9IChzdHlsZSwgZWxlbWVudFR5cGUpID0+IHtcbiAgY29uc3QgZGVmYXVsdFN0eWxlID0gdXNlRGVmYXVsdFN0eWxlKClcblxuICBjb25zdCBzdHlsZXNMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEVsZW1lbnRTdHlsZSA9IGRlZmF1bHRTdHlsZVtlbGVtZW50VHlwZV1cbiAgICBsZXQgc3R5bGVzTGlzdFxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmYXVsdEVsZW1lbnRTdHlsZSkpIHtcbiAgICAgIHN0eWxlc0xpc3QgPSBbLi4uZGVmYXVsdEVsZW1lbnRTdHlsZV1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkZWZhdWx0RWxlbWVudFN0eWxlID09IFwib2JqZWN0XCIpIHtcbiAgICAgIHN0eWxlc0xpc3QgPSBbZGVmYXVsdEVsZW1lbnRTdHlsZV1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGUgZm9yIGRlZmF1bHQgZWxlbWVudCB0eXBlOiAke3R5cGVvZiBkZWZhdWx0RWxlbWVudFN0eWxlfWApXG4gICAgfVxuXG4gICAgaWYgKHN0eWxlICYmIEFycmF5LmlzQXJyYXkoc3R5bGUpKSB7XG4gICAgICBmb3IgKGNvbnN0IHN0eWxlSSBvZiBzdHlsZSkge1xuICAgICAgICBzdHlsZXNMaXN0LnB1c2goc3R5bGVJKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc3R5bGUpIHtcbiAgICAgIHN0eWxlc0xpc3QucHVzaChzdHlsZSlcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzTGlzdFxuICB9LCBbZGVmYXVsdFN0eWxlLCBlbGVtZW50VHlwZSwgc3R5bGVdKVxuXG4gIGNvbnN0IGFjdHVhbE5ld0RlZmF1bHRTdHlsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGFjdHVhbE5ld0RlZmF1bHRTdHlsZSA9IHsuLi5kZWZhdWx0U3R5bGV9XG5cbiAgICBhY3R1YWxOZXdEZWZhdWx0U3R5bGVbZWxlbWVudFR5cGVdID0gc3R5bGVzTGlzdFxuXG4gICAgcmV0dXJuIGFjdHVhbE5ld0RlZmF1bHRTdHlsZVxuICB9LCBbZGVmYXVsdFN0eWxlLCBlbGVtZW50VHlwZSwgc3R5bGVzTGlzdF0pXG5cbiAgcmV0dXJuIHtuZXdEZWZhdWx0U3R5bGU6IGFjdHVhbE5ld0RlZmF1bHRTdHlsZSwgc3R5bGVzTGlzdH1cbn1cblxuY29uc3QgV2l0aERlZmF1bHRTdHlsZSA9IG1lbW8oKC8qKiBAdHlwZSB7V2l0aERlZmF1bHRTdHlsZVByb3BzfSAqLyB7Y2hpbGRyZW4sIHN0eWxlLCAuLi5yZXN0UHJvcHN9KSA9PiB7XG4gIGlmIChPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCBwcm9wczogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgZGVmYXVsdFN0eWxlID0gdXNlQ29udGV4dChEZWZhdWx0U3R5bGVDb250ZXh0KVxuXG4gIGNvbnN0IG5ld0RlZmF1bHRTdHlsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHN0eWxlKSB7XG4gICAgICBpZiAoIShrZXkgaW4gZGVmYXVsdFN0eWxlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWxlbWVudCB0eXBlIGdpdmVuOiAke2tleX1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAdHlwZSB7RGVmYXVsdFN0eWxlTWFwfSAqL1xuICAgIGNvbnN0IG5ld0RlZmF1bHRTdHlsZSA9IHt9XG5cbiAgICBpbmNvcnBvcmF0ZShuZXdEZWZhdWx0U3R5bGUsIGRlZmF1bHRTdHlsZSwgc3R5bGUpXG5cbiAgICByZXR1cm4gbmV3RGVmYXVsdFN0eWxlXG4gIH0sIFtkZWZhdWx0U3R5bGUsIHN0eWxlXSlcblxuICByZXR1cm4gKFxuICAgIDxEZWZhdWx0U3R5bGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdEZWZhdWx0U3R5bGV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvRGVmYXVsdFN0eWxlQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufSlcblxuZXhwb3J0IHt1c2VEZWZhdWx0U3R5bGUsIHVzZU1lcmdlZFN0eWxlLCBXaXRoRGVmYXVsdFN0eWxlfVxuIl19
68
+ export { computeSlotStylesList, useDefaultStyle, useMergedStyle, WithDefaultStyle };
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXRpbHMvZGVmYXVsdC1zdHlsZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQ7Ozs7R0FJRztBQUNILG1FQUFtRTtBQUNuRSw0RkFBNEY7QUFFNUYsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRTlFLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVwRCxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDM0QsSUFBSSxVQUFVLENBQUE7SUFFZCxJQUFJLG1CQUFtQixLQUFLLFNBQVMsSUFBSSxtQkFBbUIsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN0RSxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBQzlDLFVBQVUsR0FBRyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQTtJQUN2QyxDQUFDO1NBQU0sQ0FBQztRQUNOLFVBQVUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7U0FBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ2pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFBO0FBQ25CLENBQUMsQ0FBQTtBQUVELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFO0lBQzVDLE1BQU0sWUFBWSxHQUFHLGVBQWUsRUFBRSxDQUFBO0lBRXRDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FDeEIsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUM3RCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUE7SUFFRCxNQUFNLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDekMsTUFBTSxxQkFBcUIsR0FBRyxFQUFDLEdBQUcsWUFBWSxFQUFDLENBQUE7UUFFL0MscUJBQXFCLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFBO1FBRS9DLE9BQU8scUJBQXFCLENBQUE7SUFDOUIsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFDLENBQUE7QUFDN0QsQ0FBQyxDQUFBO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLEVBQUMsRUFBRSxFQUFFO0lBQ3JHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUVwRCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ25DLE1BQU0sZUFBZSxHQUFHLDhCQUE4QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFM0QsV0FBVyxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFFakQsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFFekIsT0FBTyxDQUNMLEtBQUMsbUJBQW1CLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxlQUFlLFlBQ2pELFFBQVEsR0FDb0IsQ0FDaEMsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUYsT0FBTyxFQUFDLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7aW5jb3Jwb3JhdGV9IGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuU3R5bGVQcm9wPFxuICogICBpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuVGV4dFN0eWxlIHwgaW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlZpZXdTdHlsZSB8IGltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5JbWFnZVN0eWxlXG4gKiA+fSBEZWZhdWx0U3R5bGVWYWx1ZVxuICovXG4vKiogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIERlZmF1bHRTdHlsZVZhbHVlPn0gRGVmYXVsdFN0eWxlTWFwICovXG4vKiogQHR5cGVkZWYge3tjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSwgc3R5bGU6IERlZmF1bHRTdHlsZU1hcH19IFdpdGhEZWZhdWx0U3R5bGVQcm9wcyAqL1xuXG5jb25zdCBEZWZhdWx0U3R5bGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dCgvKiogQHR5cGUge0RlZmF1bHRTdHlsZU1hcH0gKi8gKHt9KSlcblxuY29uc3QgdXNlRGVmYXVsdFN0eWxlID0gKCkgPT4ge1xuICBjb25zdCBkZWZhdWx0U3R5bGUgPSB1c2VDb250ZXh0KERlZmF1bHRTdHlsZUNvbnRleHQpXG5cbiAgcmV0dXJuIGRlZmF1bHRTdHlsZVxufVxuXG4vKipcbiAqIFB1cmUgaGVscGVyOiBjb2xsYXBzZSB0aGUgaW5oZXJpdGVkIGRlZmF1bHQgZm9yIGEgc2xvdCBwbHVzIHRoZSBjYWxsZXInc1xuICogc3R5bGUgaW50byBhIGZsYXQgbGlzdCByZWFkeSB0byBwYXNzIHRvIHRoZSB1bmRlcmx5aW5nIFJOIGVsZW1lbnQuXG4gKiBAcGFyYW0ge0RlZmF1bHRTdHlsZVZhbHVlIHwgdW5kZWZpbmVkfSBkZWZhdWx0RWxlbWVudFN0eWxlXG4gKiBAcGFyYW0ge0RlZmF1bHRTdHlsZVZhbHVlIHwgdW5kZWZpbmVkfSBzdHlsZVxuICogQHJldHVybnMge0RlZmF1bHRTdHlsZVZhbHVlW119XG4gKi9cbmNvbnN0IGNvbXB1dGVTbG90U3R5bGVzTGlzdCA9IChkZWZhdWx0RWxlbWVudFN0eWxlLCBzdHlsZSkgPT4ge1xuICBsZXQgc3R5bGVzTGlzdFxuXG4gIGlmIChkZWZhdWx0RWxlbWVudFN0eWxlID09PSB1bmRlZmluZWQgfHwgZGVmYXVsdEVsZW1lbnRTdHlsZSA9PT0gbnVsbCkge1xuICAgIHN0eWxlc0xpc3QgPSBbXVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGVmYXVsdEVsZW1lbnRTdHlsZSkpIHtcbiAgICBzdHlsZXNMaXN0ID0gWy4uLmRlZmF1bHRFbGVtZW50U3R5bGVdXG4gIH0gZWxzZSB7XG4gICAgc3R5bGVzTGlzdCA9IFtkZWZhdWx0RWxlbWVudFN0eWxlXVxuICB9XG5cbiAgaWYgKHN0eWxlICYmIEFycmF5LmlzQXJyYXkoc3R5bGUpKSB7XG4gICAgZm9yIChjb25zdCBzdHlsZUkgb2Ygc3R5bGUpIHtcbiAgICAgIHN0eWxlc0xpc3QucHVzaChzdHlsZUkpXG4gICAgfVxuICB9IGVsc2UgaWYgKHN0eWxlKSB7XG4gICAgc3R5bGVzTGlzdC5wdXNoKHN0eWxlKVxuICB9XG5cbiAgcmV0dXJuIHN0eWxlc0xpc3Rcbn1cblxuY29uc3QgdXNlTWVyZ2VkU3R5bGUgPSAoc3R5bGUsIGVsZW1lbnRUeXBlKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRTdHlsZSA9IHVzZURlZmF1bHRTdHlsZSgpXG5cbiAgY29uc3Qgc3R5bGVzTGlzdCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY29tcHV0ZVNsb3RTdHlsZXNMaXN0KGRlZmF1bHRTdHlsZVtlbGVtZW50VHlwZV0sIHN0eWxlKSxcbiAgICBbZGVmYXVsdFN0eWxlLCBlbGVtZW50VHlwZSwgc3R5bGVdXG4gIClcblxuICBjb25zdCBhY3R1YWxOZXdEZWZhdWx0U3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBhY3R1YWxOZXdEZWZhdWx0U3R5bGUgPSB7Li4uZGVmYXVsdFN0eWxlfVxuXG4gICAgYWN0dWFsTmV3RGVmYXVsdFN0eWxlW2VsZW1lbnRUeXBlXSA9IHN0eWxlc0xpc3RcblxuICAgIHJldHVybiBhY3R1YWxOZXdEZWZhdWx0U3R5bGVcbiAgfSwgW2RlZmF1bHRTdHlsZSwgZWxlbWVudFR5cGUsIHN0eWxlc0xpc3RdKVxuXG4gIHJldHVybiB7bmV3RGVmYXVsdFN0eWxlOiBhY3R1YWxOZXdEZWZhdWx0U3R5bGUsIHN0eWxlc0xpc3R9XG59XG5cbmNvbnN0IFdpdGhEZWZhdWx0U3R5bGUgPSBtZW1vKCgvKiogQHR5cGUge1dpdGhEZWZhdWx0U3R5bGVQcm9wc30gKi8ge2NoaWxkcmVuLCBzdHlsZSwgLi4ucmVzdFByb3BzfSkgPT4ge1xuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgcHJvcHM6ICR7T2JqZWN0LmtleXMocmVzdFByb3BzKS5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IGRlZmF1bHRTdHlsZSA9IHVzZUNvbnRleHQoRGVmYXVsdFN0eWxlQ29udGV4dClcblxuICBjb25zdCBuZXdEZWZhdWx0U3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBuZXdEZWZhdWx0U3R5bGUgPSAvKiogQHR5cGUge0RlZmF1bHRTdHlsZU1hcH0gKi8gKHt9KVxuXG4gICAgaW5jb3Jwb3JhdGUobmV3RGVmYXVsdFN0eWxlLCBkZWZhdWx0U3R5bGUsIHN0eWxlKVxuXG4gICAgcmV0dXJuIG5ld0RlZmF1bHRTdHlsZVxuICB9LCBbZGVmYXVsdFN0eWxlLCBzdHlsZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8RGVmYXVsdFN0eWxlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3RGVmYXVsdFN0eWxlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0RlZmF1bHRTdHlsZUNvbnRleHQuUHJvdmlkZXI+XG4gIClcbn0pXG5cbmV4cG9ydCB7Y29tcHV0ZVNsb3RTdHlsZXNMaXN0LCB1c2VEZWZhdWx0U3R5bGUsIHVzZU1lcmdlZFN0eWxlLCBXaXRoRGVmYXVsdFN0eWxlfVxuIl19
@@ -0,0 +1,27 @@
1
+ export default ApiMakerUtilsTextInput;
2
+ export type TextInputProps = import("react-native").TextInputProps & {
3
+ style?: import("react-native").StyleProp<import("react-native").TextStyle>;
4
+ };
5
+ /**
6
+ * @typedef {import("react-native").TextInputProps & {
7
+ * style?: import("react-native").StyleProp<import("react-native").TextStyle>
8
+ * }} TextInputProps
9
+ */
10
+ /**
11
+ * RN TextInput wired into the api-maker default-style context under the
12
+ * `"TextInput"` slot. RN's `TextInput` does not subscribe to the api-maker
13
+ * `Text` slot, so apps that want consistent text colour and font sizing for
14
+ * inputs need this wrapper alongside `<Text>`.
15
+ *
16
+ * Wrap the consumer tree once and inputs pick up the defaults:
17
+ *
18
+ * ```jsx
19
+ * <WithDefaultStyle style={{TextInput: {color: colors.text, fontSize: 14}}}>
20
+ * <TextInput value={value} onChangeText={onChange} />
21
+ * </WithDefaultStyle>
22
+ * ```
23
+ */
24
+ declare const ApiMakerUtilsTextInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<RnTextInput>>>;
25
+ import React from "react";
26
+ import { TextInput as RnTextInput } from "react-native";
27
+ //# sourceMappingURL=text-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input.d.ts","sourceRoot":"/src/","sources":["utils/text-input.jsx"],"names":[],"mappings":";6BAMa,OAAO,cAAc,EAAE,cAAc,GAAG;IAChD,KAAK,CAAC,EAAE,OAAO,cAAc,EAAE,SAAS,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAA;CAC3E;AAHJ;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AACH,sCAA0C,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,yBAAyB,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAKtJ;kBA7BiB,OAAO;yCACc,cAAc"}
@@ -0,0 +1,27 @@
1
+ // @ts-check
2
+ import React from "react";
3
+ import { TextInput as RnTextInput } from "react-native";
4
+ import withDefaultStyleSlot from "./with-default-style-slot";
5
+ /**
6
+ * @typedef {import("react-native").TextInputProps & {
7
+ * style?: import("react-native").StyleProp<import("react-native").TextStyle>
8
+ * }} TextInputProps
9
+ */
10
+ /**
11
+ * RN TextInput wired into the api-maker default-style context under the
12
+ * `"TextInput"` slot. RN's `TextInput` does not subscribe to the api-maker
13
+ * `Text` slot, so apps that want consistent text colour and font sizing for
14
+ * inputs need this wrapper alongside `<Text>`.
15
+ *
16
+ * Wrap the consumer tree once and inputs pick up the defaults:
17
+ *
18
+ * ```jsx
19
+ * <WithDefaultStyle style={{TextInput: {color: colors.text, fontSize: 14}}}>
20
+ * <TextInput value={value} onChangeText={onChange} />
21
+ * </WithDefaultStyle>
22
+ * ```
23
+ */
24
+ const ApiMakerUtilsTextInput = /** @type {React.MemoExoticComponent<React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<RnTextInput>>>} */ (withDefaultStyleSlot(
25
+ /** @type {React.ComponentType<TextInputProps>} */ (RnTextInput), "TextInput"));
26
+ export default ApiMakerUtilsTextInput;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXRpbHMvdGV4dC1pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLEVBQUMsU0FBUyxJQUFJLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUNyRCxPQUFPLG9CQUFvQixNQUFNLDJCQUEyQixDQUFBO0FBRTVEOzs7O0dBSUc7QUFFSDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyw0SEFBNEgsQ0FBQyxDQUMxSixvQkFBb0I7QUFDbEIsa0RBQWtELENBQUMsQ0FBQyxXQUFXLENBQUMsRUFDaEUsV0FBVyxDQUNaLENBQ0YsQ0FBQTtBQUVELGVBQWUsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtUZXh0SW5wdXQgYXMgUm5UZXh0SW5wdXR9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHdpdGhEZWZhdWx0U3R5bGVTbG90IGZyb20gXCIuL3dpdGgtZGVmYXVsdC1zdHlsZS1zbG90XCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlRleHRJbnB1dFByb3BzICYge1xuICogICBzdHlsZT86IGltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5TdHlsZVByb3A8aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlRleHRTdHlsZT5cbiAqIH19IFRleHRJbnB1dFByb3BzXG4gKi9cblxuLyoqXG4gKiBSTiBUZXh0SW5wdXQgd2lyZWQgaW50byB0aGUgYXBpLW1ha2VyIGRlZmF1bHQtc3R5bGUgY29udGV4dCB1bmRlciB0aGVcbiAqIGBcIlRleHRJbnB1dFwiYCBzbG90LiBSTidzIGBUZXh0SW5wdXRgIGRvZXMgbm90IHN1YnNjcmliZSB0byB0aGUgYXBpLW1ha2VyXG4gKiBgVGV4dGAgc2xvdCwgc28gYXBwcyB0aGF0IHdhbnQgY29uc2lzdGVudCB0ZXh0IGNvbG91ciBhbmQgZm9udCBzaXppbmcgZm9yXG4gKiBpbnB1dHMgbmVlZCB0aGlzIHdyYXBwZXIgYWxvbmdzaWRlIGA8VGV4dD5gLlxuICpcbiAqIFdyYXAgdGhlIGNvbnN1bWVyIHRyZWUgb25jZSBhbmQgaW5wdXRzIHBpY2sgdXAgdGhlIGRlZmF1bHRzOlxuICpcbiAqIGBgYGpzeFxuICogPFdpdGhEZWZhdWx0U3R5bGUgc3R5bGU9e3tUZXh0SW5wdXQ6IHtjb2xvcjogY29sb3JzLnRleHQsIGZvbnRTaXplOiAxNH19fT5cbiAqICAgPFRleHRJbnB1dCB2YWx1ZT17dmFsdWV9IG9uQ2hhbmdlVGV4dD17b25DaGFuZ2V9IC8+XG4gKiA8L1dpdGhEZWZhdWx0U3R5bGU+XG4gKiBgYGBcbiAqL1xuY29uc3QgQXBpTWFrZXJVdGlsc1RleHRJbnB1dCA9IC8qKiBAdHlwZSB7UmVhY3QuTWVtb0V4b3RpY0NvbXBvbmVudDxSZWFjdC5Gb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50PFRleHRJbnB1dFByb3BzICYgUmVhY3QuUmVmQXR0cmlidXRlczxSblRleHRJbnB1dD4+Pn0gKi8gKFxuICB3aXRoRGVmYXVsdFN0eWxlU2xvdChcbiAgICAvKiogQHR5cGUge1JlYWN0LkNvbXBvbmVudFR5cGU8VGV4dElucHV0UHJvcHM+fSAqLyAoUm5UZXh0SW5wdXQpLFxuICAgIFwiVGV4dElucHV0XCJcbiAgKVxuKVxuXG5leHBvcnQgZGVmYXVsdCBBcGlNYWtlclV0aWxzVGV4dElucHV0XG4iXX0=
@@ -0,0 +1,28 @@
1
+ export default withDefaultStyleSlot;
2
+ /**
3
+ * Wires `Component` into the api-maker default-style context as a slot.
4
+ * Inherits accumulated defaults for `slotKey`, merges them with the caller's
5
+ * `style` prop, and re-provides the merged list so nested instances of the
6
+ * same component continue to inherit.
7
+ *
8
+ * Caller usage mirrors the built-in `Text` wrapper:
9
+ *
10
+ * ```jsx
11
+ * import {Link as ExpoLink} from "expo-router"
12
+ * import withDefaultStyleSlot from "@kaspernj/api-maker/build/utils/with-default-style-slot"
13
+ *
14
+ * const Link = withDefaultStyleSlot(ExpoLink, "Link")
15
+ *
16
+ * // …consumer tree wraps in <WithDefaultStyle style={{Link: {color: "red"}}}> …
17
+ * ```
18
+ *
19
+ * @template {object} P
20
+ * @template T
21
+ * @param {React.ComponentType<P> | React.ForwardRefExoticComponent<P & React.RefAttributes<T>>} Component
22
+ * Underlying component to wrap.
23
+ * @param {string} slotKey Slot name to register defaults under.
24
+ * @returns {React.MemoExoticComponent<React.ForwardRefExoticComponent<P & React.RefAttributes<T>>>}
25
+ */
26
+ declare function withDefaultStyleSlot<P extends unknown, T>(Component: React.ComponentType<P> | React.ForwardRefExoticComponent<P & React.RefAttributes<T>>, slotKey: string): React.MemoExoticComponent<React.ForwardRefExoticComponent<P & React.RefAttributes<T>>>;
27
+ import React from "react";
28
+ //# sourceMappingURL=with-default-style-slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-default-style-slot.d.ts","sourceRoot":"/src/","sources":["utils/with-default-style-slot.jsx"],"names":[],"mappings":";AAKA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,sCAPsB,CAAC,kBACV,CAAC,aACH,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAEpF,MAAM,GACJ,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CA4BlG;kBAtD+B,OAAO"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
3
+ import React, { forwardRef } from "react";
4
+ import { WithDefaultStyle, useMergedStyle } from "./default-style";
5
+ import memo from "set-state-compare/build/memo.js";
6
+ /**
7
+ * Wires `Component` into the api-maker default-style context as a slot.
8
+ * Inherits accumulated defaults for `slotKey`, merges them with the caller's
9
+ * `style` prop, and re-provides the merged list so nested instances of the
10
+ * same component continue to inherit.
11
+ *
12
+ * Caller usage mirrors the built-in `Text` wrapper:
13
+ *
14
+ * ```jsx
15
+ * import {Link as ExpoLink} from "expo-router"
16
+ * import withDefaultStyleSlot from "@kaspernj/api-maker/build/utils/with-default-style-slot"
17
+ *
18
+ * const Link = withDefaultStyleSlot(ExpoLink, "Link")
19
+ *
20
+ * // …consumer tree wraps in <WithDefaultStyle style={{Link: {color: "red"}}}> …
21
+ * ```
22
+ *
23
+ * @template {object} P
24
+ * @template T
25
+ * @param {React.ComponentType<P> | React.ForwardRefExoticComponent<P & React.RefAttributes<T>>} Component
26
+ * Underlying component to wrap.
27
+ * @param {string} slotKey Slot name to register defaults under.
28
+ * @returns {React.MemoExoticComponent<React.ForwardRefExoticComponent<P & React.RefAttributes<T>>>}
29
+ */
30
+ const withDefaultStyleSlot = (Component, slotKey) => {
31
+ const RenderComponent = /** @type {React.ComponentType<Record<string, unknown>>} */ (
32
+ /** @type {unknown} */ (Component));
33
+ const Wrapped = forwardRef((/** @type {Record<string, unknown>} */ props, ref) => {
34
+ const { style, ...restProps } = props;
35
+ const { newDefaultStyle, stylesList } = useMergedStyle(style, slotKey);
36
+ return (_jsx(WithDefaultStyle, { style: newDefaultStyle, children: _jsx(RenderComponent, { ref: ref, style: stylesList, ...restProps }) }));
37
+ });
38
+ const displayName = `WithDefaultStyleSlot(${Component.displayName || Component.name || slotKey})`;
39
+ Wrapped.displayName = displayName;
40
+ const Memoized = /** @type {React.MemoExoticComponent<React.ForwardRefExoticComponent<P & React.RefAttributes<T>>>} */ (
41
+ /** @type {unknown} */ (memo(Wrapped)));
42
+ Memoized.displayName = displayName;
43
+ return Memoized;
44
+ };
45
+ export default withDefaultStyleSlot;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWZhdWx0LXN0eWxlLXNsb3QuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInV0aWxzL3dpdGgtZGVmYXVsdC1zdHlsZS1zbG90LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLE9BQU8sS0FBSyxFQUFFLEVBQUMsVUFBVSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUVsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ2xELE1BQU0sZUFBZSxHQUFHLDJEQUEyRCxDQUFDO0lBQ2xGLHNCQUFzQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQ25DLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDL0UsTUFBTSxFQUFDLEtBQUssRUFBRSxHQUFHLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQTtRQUNuQyxNQUFNLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFFcEUsT0FBTyxDQUNMLEtBQUMsZ0JBQWdCLElBQUMsS0FBSyxFQUFFLGVBQWUsWUFDdEMsS0FBQyxlQUFlLElBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxLQUFNLFNBQVMsR0FBSSxHQUM5QyxDQUNwQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixNQUFNLFdBQVcsR0FBRyx3QkFBd0IsU0FBUyxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsSUFBSSxJQUFJLE9BQU8sR0FBRyxDQUFBO0lBRWpHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBRWpDLE1BQU0sUUFBUSxHQUFHLHFHQUFxRyxDQUFDO0lBQ3JILHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3ZDLENBQUE7SUFFRCxRQUFRLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtJQUVsQyxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDLENBQUE7QUFFRCxlQUFlLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5pbXBvcnQgUmVhY3QsIHtmb3J3YXJkUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtXaXRoRGVmYXVsdFN0eWxlLCB1c2VNZXJnZWRTdHlsZX0gZnJvbSBcIi4vZGVmYXVsdC1zdHlsZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5cbi8qKlxuICogV2lyZXMgYENvbXBvbmVudGAgaW50byB0aGUgYXBpLW1ha2VyIGRlZmF1bHQtc3R5bGUgY29udGV4dCBhcyBhIHNsb3QuXG4gKiBJbmhlcml0cyBhY2N1bXVsYXRlZCBkZWZhdWx0cyBmb3IgYHNsb3RLZXlgLCBtZXJnZXMgdGhlbSB3aXRoIHRoZSBjYWxsZXInc1xuICogYHN0eWxlYCBwcm9wLCBhbmQgcmUtcHJvdmlkZXMgdGhlIG1lcmdlZCBsaXN0IHNvIG5lc3RlZCBpbnN0YW5jZXMgb2YgdGhlXG4gKiBzYW1lIGNvbXBvbmVudCBjb250aW51ZSB0byBpbmhlcml0LlxuICpcbiAqIENhbGxlciB1c2FnZSBtaXJyb3JzIHRoZSBidWlsdC1pbiBgVGV4dGAgd3JhcHBlcjpcbiAqXG4gKiBgYGBqc3hcbiAqIGltcG9ydCB7TGluayBhcyBFeHBvTGlua30gZnJvbSBcImV4cG8tcm91dGVyXCJcbiAqIGltcG9ydCB3aXRoRGVmYXVsdFN0eWxlU2xvdCBmcm9tIFwiQGthc3Blcm5qL2FwaS1tYWtlci9idWlsZC91dGlscy93aXRoLWRlZmF1bHQtc3R5bGUtc2xvdFwiXG4gKlxuICogY29uc3QgTGluayA9IHdpdGhEZWZhdWx0U3R5bGVTbG90KEV4cG9MaW5rLCBcIkxpbmtcIilcbiAqXG4gKiAvLyDigKZjb25zdW1lciB0cmVlIHdyYXBzIGluIDxXaXRoRGVmYXVsdFN0eWxlIHN0eWxlPXt7TGluazoge2NvbG9yOiBcInJlZFwifX19PiDigKZcbiAqIGBgYFxuICpcbiAqIEB0ZW1wbGF0ZSB7b2JqZWN0fSBQXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtSZWFjdC5Db21wb25lbnRUeXBlPFA+IHwgUmVhY3QuRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQICYgUmVhY3QuUmVmQXR0cmlidXRlczxUPj59IENvbXBvbmVudFxuICogICBVbmRlcmx5aW5nIGNvbXBvbmVudCB0byB3cmFwLlxuICogQHBhcmFtIHtzdHJpbmd9IHNsb3RLZXkgU2xvdCBuYW1lIHRvIHJlZ2lzdGVyIGRlZmF1bHRzIHVuZGVyLlxuICogQHJldHVybnMge1JlYWN0Lk1lbW9FeG90aWNDb21wb25lbnQ8UmVhY3QuRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxQICYgUmVhY3QuUmVmQXR0cmlidXRlczxUPj4+fVxuICovXG5jb25zdCB3aXRoRGVmYXVsdFN0eWxlU2xvdCA9IChDb21wb25lbnQsIHNsb3RLZXkpID0+IHtcbiAgY29uc3QgUmVuZGVyQ29tcG9uZW50ID0gLyoqIEB0eXBlIHtSZWFjdC5Db21wb25lbnRUeXBlPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pn0gKi8gKFxuICAgIC8qKiBAdHlwZSB7dW5rbm93bn0gKi8gKENvbXBvbmVudClcbiAgKVxuICBjb25zdCBXcmFwcGVkID0gZm9yd2FyZFJlZigoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gKi8gcHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHtzdHlsZSwgLi4ucmVzdFByb3BzfSA9IHByb3BzXG4gICAgY29uc3Qge25ld0RlZmF1bHRTdHlsZSwgc3R5bGVzTGlzdH0gPSB1c2VNZXJnZWRTdHlsZShzdHlsZSwgc2xvdEtleSlcblxuICAgIHJldHVybiAoXG4gICAgICA8V2l0aERlZmF1bHRTdHlsZSBzdHlsZT17bmV3RGVmYXVsdFN0eWxlfT5cbiAgICAgICAgPFJlbmRlckNvbXBvbmVudCByZWY9e3JlZn0gc3R5bGU9e3N0eWxlc0xpc3R9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgICA8L1dpdGhEZWZhdWx0U3R5bGU+XG4gICAgKVxuICB9KVxuXG4gIGNvbnN0IGRpc3BsYXlOYW1lID0gYFdpdGhEZWZhdWx0U3R5bGVTbG90KCR7Q29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lIHx8IHNsb3RLZXl9KWBcblxuICBXcmFwcGVkLmRpc3BsYXlOYW1lID0gZGlzcGxheU5hbWVcblxuICBjb25zdCBNZW1vaXplZCA9IC8qKiBAdHlwZSB7UmVhY3QuTWVtb0V4b3RpY0NvbXBvbmVudDxSZWFjdC5Gb3J3YXJkUmVmRXhvdGljQ29tcG9uZW50PFAgJiBSZWFjdC5SZWZBdHRyaWJ1dGVzPFQ+Pj59ICovIChcbiAgICAvKiogQHR5cGUge3Vua25vd259ICovIChtZW1vKFdyYXBwZWQpKVxuICApXG5cbiAgTWVtb2l6ZWQuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZVxuXG4gIHJldHVybiBNZW1vaXplZFxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoRGVmYXVsdFN0eWxlU2xvdFxuIl19
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
3
  "type": "module",
4
- "version": "1.0.2167",
4
+ "version": "1.0.2168",
5
5
  "description": "My new module",
6
6
  "files": [
7
7
  "build/**"