next-yak 0.0.7 → 0.0.10

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 (52) hide show
  1. package/dist/context/baseContext.d.ts +3 -0
  2. package/dist/context/baseContext.js +8 -0
  3. package/dist/context/baseContext.js.map +1 -0
  4. package/dist/context/index.d.ts +11 -0
  5. package/dist/context/index.js +25 -0
  6. package/dist/context/index.js.map +1 -0
  7. package/dist/context/index.server.js +13 -0
  8. package/dist/context/index.server.js.map +1 -0
  9. package/dist/index.cjs +2 -0
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.cts +604 -0
  12. package/dist/index.d.ts +604 -4
  13. package/dist/index.js +1 -3
  14. package/dist/index.js.map +1 -1
  15. package/loaders/__tests__/cssloader.test.ts +87 -49
  16. package/loaders/__tests__/tsloader.test.ts +40 -5
  17. package/loaders/babel-yak-plugin.cjs +18 -10
  18. package/loaders/cssloader.cjs +15 -6
  19. package/loaders/lib/localIdent.cjs +31 -0
  20. package/loaders/lib/stripCssComments.cjs +2 -0
  21. package/package.json +32 -20
  22. package/runtime/context/README.md +81 -0
  23. package/runtime/context/baseContext.tsx +3 -0
  24. package/runtime/context/index.server.tsx +21 -0
  25. package/runtime/context/index.tsx +23 -0
  26. package/runtime/index.ts +9 -3
  27. package/runtime/keyframes.tsx +29 -0
  28. package/runtime/styled.tsx +9 -3
  29. package/withYak/index.cjs +97 -0
  30. package/withYak/index.cjs.map +1 -0
  31. package/withYak/index.d.cts +38 -0
  32. package/withYak/index.ts +132 -0
  33. package/dist/atoms.d.ts +0 -18
  34. package/dist/atoms.d.ts.map +0 -1
  35. package/dist/atoms.js +0 -19
  36. package/dist/atoms.js.map +0 -1
  37. package/dist/cssLiteral.d.ts +0 -11
  38. package/dist/cssLiteral.d.ts.map +0 -1
  39. package/dist/cssLiteral.js +0 -77
  40. package/dist/cssLiteral.js.map +0 -1
  41. package/dist/cssLiteral.jsx +0 -63
  42. package/dist/cssLiteral.jsx.map +0 -1
  43. package/dist/index.d.ts.map +0 -1
  44. package/dist/styled.d.ts +0 -196
  45. package/dist/styled.d.ts.map +0 -1
  46. package/dist/styled.js +0 -57
  47. package/dist/styled.js.map +0 -1
  48. package/dist/styled.jsx +0 -30
  49. package/dist/styled.jsx.map +0 -1
  50. package/loaders/babel-yak-plugin.d.ts +0 -9
  51. package/loaders/withYak.cjs +0 -57
  52. package/loaders/withYak.d.ts +0 -39
@@ -0,0 +1,3 @@
1
+ declare function getYakThemeContext(): {};
2
+
3
+ export { getYakThemeContext };
@@ -0,0 +1,8 @@
1
+ // runtime/context/baseContext.tsx
2
+ function getYakThemeContext() {
3
+ return {};
4
+ }
5
+ export {
6
+ getYakThemeContext
7
+ };
8
+ //# sourceMappingURL=baseContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../runtime/context/baseContext.tsx"],"sourcesContent":["export function getYakThemeContext() {\n return {};\n}\n"],"mappings":";AAAO,SAAS,qBAAqB;AACnC,SAAO,CAAC;AACV;","names":[]}
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from 'react';
2
+
3
+ interface DefaultTheme {
4
+ }
5
+ declare const useTheme: () => DefaultTheme;
6
+ declare const YakThemeProvider: ({ children, theme, }: {
7
+ children: ReactNode;
8
+ theme?: {} | undefined;
9
+ }) => React.JSX.Element;
10
+
11
+ export { DefaultTheme, YakThemeProvider, useTheme };
@@ -0,0 +1,25 @@
1
+ "use client";
2
+
3
+ // runtime/context/index.tsx
4
+ import React, {
5
+ createContext,
6
+ useContext
7
+ } from "react";
8
+
9
+ // runtime/context/baseContext.tsx
10
+ function getYakThemeContext() {
11
+ return {};
12
+ }
13
+
14
+ // runtime/context/index.tsx
15
+ var YakContext = createContext(getYakThemeContext());
16
+ var useTheme = () => useContext(YakContext);
17
+ var YakThemeProvider = ({
18
+ children,
19
+ theme = getYakThemeContext()
20
+ }) => /* @__PURE__ */ React.createElement(YakContext.Provider, { value: theme }, children);
21
+ export {
22
+ YakThemeProvider,
23
+ useTheme
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../runtime/context/index.tsx","../../runtime/context/baseContext.tsx"],"sourcesContent":["\"use client\";\n//\n// This file is the client component (browser & ssr) version of index.server.tsx\n//\nimport React, {\n ReactNode,\n createContext,\n useContext,\n} from \"react\";\nimport { getYakThemeContext } from \"./baseContext.js\";\n\nexport interface DefaultTheme { }\n\nconst YakContext = createContext<DefaultTheme>(getYakThemeContext());\n\nexport const useTheme = (): DefaultTheme => useContext(YakContext);\nexport const YakThemeProvider = ({\n children,\n theme = getYakThemeContext(),\n}: {\n children: ReactNode;\n theme?: ReturnType<typeof getYakThemeContext>;\n}) => <YakContext.Provider value={theme}>{children}</YakContext.Provider>;\n","export function getYakThemeContext() {\n return {};\n}\n"],"mappings":";;;AAIA,OAAO;AAAA,EAEL;AAAA,EACA;AAAA,OACK;;;ACRA,SAAS,qBAAqB;AACnC,SAAO,CAAC;AACV;;;ADWA,IAAM,aAAa,cAA4B,mBAAmB,CAAC;AAE5D,IAAM,WAAW,MAAoB,WAAW,UAAU;AAC1D,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,QAAQ,mBAAmB;AAC7B,MAGM,oCAAC,WAAW,UAAX,EAAoB,OAAO,SAAQ,QAAS;","names":[]}
@@ -0,0 +1,13 @@
1
+ // runtime/context/index.server.tsx
2
+ import React, { cache } from "react";
3
+ import { YakThemeProvider as YakThemeClientProvider } from "./index.js";
4
+ import { getYakThemeContext } from "next-yak/context/baseContext";
5
+ var useTheme = cache(() => getYakThemeContext());
6
+ var YakThemeProvider = ({ children }) => {
7
+ return /* @__PURE__ */ React.createElement(YakThemeClientProvider, { theme: useTheme() }, children);
8
+ };
9
+ export {
10
+ YakThemeProvider,
11
+ useTheme
12
+ };
13
+ //# sourceMappingURL=index.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../runtime/context/index.server.tsx"],"sourcesContent":["//\n// This file is the react-server component version of index.tsx\n//\n\n// @ts-ignore - in the current @types/react \"cache\" is not typed\nimport React, { ReactNode, cache } from \"react\";\nimport { YakThemeProvider as YakThemeClientProvider } from \"./index.js\";\n\n// the following import might be changed by\n// the user config in withYak to point to their own\n// context\nimport { getYakThemeContext } from \"next-yak/context/baseContext\";\n\nexport const useTheme = cache(() => getYakThemeContext());\nexport const YakThemeProvider = ({ children }: { children: ReactNode }) => {\n return (\n <YakThemeClientProvider theme={useTheme()}>\n {children}\n </YakThemeClientProvider>\n );\n};\n"],"mappings":";AAKA,OAAO,SAAoB,aAAa;AACxC,SAAS,oBAAoB,8BAA8B;AAK3D,SAAS,0BAA0B;AAE5B,IAAM,WAAW,MAAM,MAAM,mBAAmB,CAAC;AACjD,IAAM,mBAAmB,CAAC,EAAE,SAAS,MAA+B;AACzE,SACE,oCAAC,0BAAuB,OAAO,SAAS,KACrC,QACH;AAEJ;","names":[]}
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var x=Object.create;var y=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var R=(n,t)=>{for(var e in t)y(n,e,{get:t[e],enumerable:!0})},g=(n,t,e,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of N(t))!h.call(n,o)&&o!==e&&y(n,o,{get:()=>t[o],enumerable:!(p=w(t,o))||p.enumerable});return n};var v=(n,t,e)=>(e=n!=null?x(F(n)):{},g(t||!n||!n.__esModule?y(e,"default",{value:n,enumerable:!0}):e,n)),I=n=>g(y({},"__esModule",{value:!0}),n);var H={};R(H,{YakThemeProvider:()=>m.YakThemeProvider,atoms:()=>P,css:()=>c,keyframes:()=>k,styled:()=>d,useTheme:()=>m.useTheme});module.exports=I(H);var E=(...n)=>{let t=[],e=[],p={};for(let i=0;i<n.length;i++){let r=n[i];if(typeof r=="string")t.push(r);else if(typeof r=="function")e.push(r);else if(typeof r=="object"&&"style"in r)for(let a in r.style){let l=r.style[a];typeof l=="function"?e.push(s=>({style:{[a]:String(T(s,l))}})):p[a]=l}}if(e.length===0){let i=t.join(" ");return()=>({className:i,style:p})}let o=(i,r,a,l)=>{let s=r(i);if(typeof s=="function")o(i,s,a,l);else if(typeof s=="object"&&s&&("className"in s&&s.className&&a.push(s.className),"style"in s&&s.style))for(let f in s.style){let C=s.style[f];l[f]=C}};return i=>{let r=[...t],a={...p};for(let l=0;l<e.length;l++)o(i,e[l],r,a);return{className:r.join(" "),style:a}}},T=(n,t)=>{let e=t(n);if(typeof e=="function")return T(n,e);if(process.env.NODE_ENV==="development"&&typeof e!="string"&&typeof e!="number"&&!(e instanceof String))throw new Error(`Dynamic CSS functions must return a string or number but returned ${JSON.stringify(e)}`);return e},c=E;var u=v(require("react"),1),S=require("next-yak/context");function b(n){return(t,...e)=>{let p=(o,i)=>{let r={...o,theme:(0,S.useTheme)()},a=c(t,...e)(r),s={...typeof n=="string"?A(o):o,style:{...o.style||{},...a.style},className:(o.className?o.className+" ":"")+a.className};return typeof n!="string"&&"yak"in n?n.yak(s,i):u.default.createElement(n,{ref:i,...s})};return Object.assign(u.default.forwardRef(p),{yak:p})}}var d=new Proxy(b,{get(n,t){if(typeof t!="string")throw new Error("Only string tags are supported");return n(t)}});function A(n){let t={};for(let e in n)e.startsWith("$")||(t[e]=n[e]);return t}var P=(...n)=>{let t=n.join(" ");return()=>({className:t})};var k=(n,...t)=>n;var m=require("next-yak/context");0&&(module.exports={YakThemeProvider,atoms,css,keyframes,styled,useTheme});
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../runtime/index.ts","../runtime/cssLiteral.tsx","../runtime/styled.tsx","../runtime/atoms.tsx","../runtime/keyframes.tsx"],"sourcesContent":["export { css } from \"./cssLiteral.js\";\nexport { styled } from \"./styled.js\";\nexport { atoms } from \"./atoms.js\";\nexport { keyframes } from \"./keyframes.js\";\n\n// the following export is not relative as \"next-yak/context\"\n// links to one file for react server components and\n// to another file for classic react components\nexport { useTheme, YakThemeProvider} from \"next-yak/context\"","type ComponentStyles<TProps extends Record<string, unknown>> = (\n props: TProps\n) => {\n className: string;\n style?: {\n [key: string]: string;\n };\n};\n\nexport type CSSInterpolation<TProps extends Record<string, unknown>> =\n | string\n | number\n | undefined\n | null\n | false\n | ComponentStyles<TProps>\n | ((props: TProps) => CSSInterpolation<TProps>);\n\ntype CSSStyles<TProps extends Record<string, unknown>> = {\n style: { [key: string]: string | ((props: TProps) => string) };\n};\n\ntype CSSFunction = <TProps extends Record<string, unknown>>(\n styles: TemplateStringsArray,\n ...values: CSSInterpolation<TProps>[]\n) => ComponentStyles<TProps>;\n\nconst internalImplementation = (\n ...args: Array<string | CSSFunction | CSSStyles<any>>\n): ComponentStyles<any> => {\n type PropsToClassNameFn = (props: unknown) => {\n className?: string;\n style?: Record<string, string>;\n };\n const classNames: string[] = [];\n const dynamicCssFunctions: PropsToClassNameFn[] = [];\n const style: Record<string, string> = {};\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (typeof arg === \"string\") {\n classNames.push(arg);\n } else if (typeof arg === \"function\") {\n dynamicCssFunctions.push(arg as unknown as PropsToClassNameFn);\n } else if (typeof arg === \"object\" && \"style\" in arg) {\n for (const key in arg.style) {\n const value = arg.style[key];\n if (typeof value === \"function\") {\n dynamicCssFunctions.push((props: unknown) => ({\n style: { [key]: String(recursivePropExecution(props, value)) },\n }));\n } else {\n style[key] = value;\n }\n }\n }\n }\n\n // Non Dynamic CSS\n if (dynamicCssFunctions.length === 0) {\n const className = classNames.join(\" \");\n return () => ({ className, style });\n }\n\n // Dynamic CSS with runtime logic\n const unwrapProps = (\n props: unknown,\n fn: PropsToClassNameFn,\n classNames: string[],\n style: Record<string, string>\n ) => {\n const result = fn(props);\n if (typeof result === \"function\") {\n unwrapProps(props, result, classNames, style);\n } else if (typeof result === \"object\" && result) {\n if (\"className\" in result && result.className) {\n classNames.push(result.className);\n }\n if (\"style\" in result && result.style) {\n for (const key in result.style) {\n const value = result.style[key];\n style[key] = value;\n }\n }\n }\n };\n\n return (props: unknown) => {\n const allClassNames: string[] = [...classNames];\n const allStyles: Record<string, string> = { ...style };\n for (let i = 0; i < dynamicCssFunctions.length; i++) {\n unwrapProps(props, dynamicCssFunctions[i], allClassNames, allStyles);\n }\n return {\n className: allClassNames.join(\" \"),\n style: allStyles,\n };\n };\n};\n\nconst recursivePropExecution = (\n props: unknown,\n fn: (props: unknown) => any,\n): string | number => {\n const result = fn(props);\n if (typeof result === \"function\") {\n return recursivePropExecution(props, result);\n }\n if (process.env.NODE_ENV === \"development\") {\n if (\n typeof result !== \"string\" &&\n typeof result !== \"number\" &&\n !(result instanceof String)\n ) {\n throw new Error(\n `Dynamic CSS functions must return a string or number but returned ${JSON.stringify(\n result,\n )}`,\n );\n }\n }\n return result;\n};\n\nexport const css = internalImplementation as any as CSSFunction;\n","import { FunctionComponent } from \"react\";\nimport { CSSInterpolation, css } from \"./cssLiteral.js\";\nimport React from \"react\";\n\n// the following export is not relative as \"next-yak/context\"\n// links to one file for react server components and\n// to another file for classic react components\nimport { DefaultTheme, useTheme } from \"next-yak/context\"\n\n//\n// The `styled()` and `styled.` API\n//\n// The API design is inspired by styled-components:\n// https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/constructors/styled.tsx\n// https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/models/StyledComponent.ts\n//\n\ntype HtmlTags = keyof JSX.IntrinsicElements;\n\nfunction StyledFactory <THtmlTag extends HtmlTags>(Component: THtmlTag): <TProps extends Record<string, unknown>>(\n styles: TemplateStringsArray,\n ...values: CSSInterpolation<TProps & { theme: DefaultTheme }>[]\n) => FunctionComponent<JSX.IntrinsicElements[THtmlTag] & TProps>;\nfunction StyledFactory (Component: string | FunctionComponent<any>) {\n return <TProps extends Record<string, unknown>>(\n styles: TemplateStringsArray,\n ...values: CSSInterpolation<TProps>[]\n ) => {\n const yak = (props: TProps, ref: unknown) => {\n const propsWithTheme = { ...props, theme: useTheme() };\n const runtimeStyles = css(styles, ...values)(propsWithTheme as any);\n const filteredProps =\n typeof Component === \"string\" ? removePrefixedProperties(props) : props;\n const mergedProps = {\n ...filteredProps,\n style: { ...(props.style || {}), ...runtimeStyles.style },\n className:\n (props.className ? props.className + \" \" : \"\") +\n runtimeStyles.className,\n }\n // if the styled(Component) syntax is used and the component is a yak component\n // we can call the yak function directly to avoid an unnecessary wrapper with an additional\n // forwardRef call\n if (typeof Component !== \"string\" && \"yak\" in (Component as (FunctionComponent<any> & {yak?: FunctionComponent<any>}))) {\n return (Component as (FunctionComponent<any> & {yak: FunctionComponent<any>})).yak(mergedProps, ref);\n }\n return (\n <Component\n ref={ref as any}\n {...mergedProps}\n />\n );\n };\n return Object.assign(React.forwardRef(yak), {yak});\n };\n};\n\n/**\n * The `styled` method works perfectly on all of your own or any third-party component, \n * as long as they attach the passed className prop to a DOM element.\n * \n * @usage\n * \n * ```tsx\n * const StyledLink = styled(Link)`\n * color: #BF4F74;\n * font-weight: bold;\n * `;\n * ```\n */\nexport const styled = new Proxy(StyledFactory, {\n get(target, TagName) {\n if (typeof TagName !== \"string\") {\n throw new Error(\"Only string tags are supported\");\n }\n return target(TagName as keyof JSX.IntrinsicElements);\n },\n}) as (\n <TBaseProps extends {}>(Component: FunctionComponent<TBaseProps>) => <TProps extends {}>(\n styles: TemplateStringsArray,\n ...values: CSSInterpolation<TProps>[]\n ) => FunctionComponent<TBaseProps & TProps>\n) & {\n [TagName in HtmlTags]: ReturnType<typeof StyledFactory<TagName>>;\n};\n\n// Remove all entries that start with a $ sign\nfunction removePrefixedProperties<T extends Record<string, unknown>>(obj: T) {\n const result = {} as T;\n for (const key in obj) {\n if (!key.startsWith(\"$\")) {\n result[key] = obj[key];\n }\n }\n return result;\n}\n","/**\n * Allows to use atomic CSS classes in a styled or css block\n * \n * @usage\n * \n * ```tsx\n * import { styled, atoms } from \"next-yak\";\n * \n * const Button = styled.button<{ $primary?: boolean }>`\n * ${atoms(\"text-teal-600\", \"text-base\", \"rounded-md\")}\n * ${props => props.$primary && atoms(\"shadow-md\")}\n * `;\n * ```\n */\nexport const atoms = (...atoms: string[]) => {\n const className = atoms.join(\" \");\n return () => ({ className });\n};","/**\n * Allows to use CSS keyframe animations in a styled or css block\n * \n * @usage\n * \n * ```tsx\n * import { styled, keyframes } from \"next-yak\";\n * \n * const rotate = keyframes`\n * from {\n * transform: rotate(0deg);\n * }\n * to {\n * transform: rotate(360deg);\n * }\n * `;\n * \n * const Spinner = styled.div`\n * animation: ${rotate} 1s linear infinite;\n * `;\n * ```\n */\nexport const keyframes = (styles: TemplateStringsArray, \n ...dynamic: never[]\n ): string => {\n // during compilation all args of keyframe are compiled\n // to a string which references the animation name \n return styles as any as string;\n};"],"mappings":"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","names":["runtime_exports","__export","atoms","css","keyframes","styled","__toCommonJS","internalImplementation","args","classNames","dynamicCssFunctions","style","arg","key","value","props","recursivePropExecution","className","unwrapProps","fn","result","allClassNames","allStyles","i","css","import_react","import_context","StyledFactory","Component","styles","values","yak","props","ref","propsWithTheme","runtimeStyles","css","mergedProps","removePrefixedProperties","React","styled","target","TagName","obj","result","key","atoms","className","keyframes","styles","dynamic","import_context"]}