@raystack/apsara 0.22.0 → 0.23.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 (96) hide show
  1. package/dist/emptystate/emptystate.cjs +3 -0
  2. package/dist/emptystate/emptystate.cjs.map +1 -1
  3. package/dist/emptystate/emptystate.d.ts +3 -0
  4. package/dist/emptystate/emptystate.d.ts.map +1 -1
  5. package/dist/emptystate/emptystate.js +3 -0
  6. package/dist/emptystate/emptystate.js.map +1 -1
  7. package/dist/flex/flex.cjs +3 -0
  8. package/dist/flex/flex.cjs.map +1 -1
  9. package/dist/flex/flex.d.ts +3 -0
  10. package/dist/flex/flex.d.ts.map +1 -1
  11. package/dist/flex/flex.js +3 -0
  12. package/dist/flex/flex.js.map +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/style.css +1 -1
  15. package/dist/text/text.cjs +3 -0
  16. package/dist/text/text.cjs.map +1 -1
  17. package/dist/text/text.d.ts +3 -0
  18. package/dist/text/text.d.ts.map +1 -1
  19. package/dist/text/text.js +3 -0
  20. package/dist/text/text.js.map +1 -1
  21. package/dist/themprovider/switcher.cjs +3 -0
  22. package/dist/themprovider/switcher.cjs.map +1 -1
  23. package/dist/themprovider/switcher.d.ts +3 -0
  24. package/dist/themprovider/switcher.d.ts.map +1 -1
  25. package/dist/themprovider/switcher.js +3 -0
  26. package/dist/themprovider/switcher.js.map +1 -1
  27. package/dist/themprovider/theme.cjs +34 -6
  28. package/dist/themprovider/theme.cjs.map +1 -1
  29. package/dist/themprovider/theme.d.ts +6 -0
  30. package/dist/themprovider/theme.d.ts.map +1 -1
  31. package/dist/themprovider/theme.js +34 -6
  32. package/dist/themprovider/theme.js.map +1 -1
  33. package/dist/v1/components/emptystate/emptystate.cjs +14 -0
  34. package/dist/v1/components/emptystate/emptystate.cjs.map +1 -0
  35. package/dist/v1/components/emptystate/emptystate.d.ts +13 -0
  36. package/dist/v1/components/emptystate/emptystate.d.ts.map +1 -0
  37. package/dist/v1/components/emptystate/emptystate.js +12 -0
  38. package/dist/v1/components/emptystate/emptystate.js.map +1 -0
  39. package/dist/v1/components/emptystate/emptystate.module.css.cjs +8 -0
  40. package/dist/v1/components/emptystate/emptystate.module.css.cjs.map +1 -0
  41. package/dist/v1/components/emptystate/emptystate.module.css.js +4 -0
  42. package/dist/v1/components/emptystate/emptystate.module.css.js.map +1 -0
  43. package/dist/v1/components/emptystate/index.d.ts +2 -0
  44. package/dist/v1/components/emptystate/index.d.ts.map +1 -0
  45. package/dist/v1/components/flex/flex.cjs +54 -0
  46. package/dist/v1/components/flex/flex.cjs.map +1 -0
  47. package/dist/v1/components/flex/flex.d.ts +12 -0
  48. package/dist/v1/components/flex/flex.d.ts.map +1 -0
  49. package/dist/v1/components/flex/flex.js +52 -0
  50. package/dist/v1/components/flex/flex.js.map +1 -0
  51. package/dist/v1/components/flex/flex.module.css.cjs +8 -0
  52. package/dist/v1/components/flex/flex.module.css.cjs.map +1 -0
  53. package/dist/v1/components/flex/flex.module.css.js +4 -0
  54. package/dist/v1/components/flex/flex.module.css.js.map +1 -0
  55. package/dist/v1/components/flex/index.d.ts +2 -0
  56. package/dist/v1/components/flex/index.d.ts.map +1 -0
  57. package/dist/v1/components/text/index.d.ts +2 -0
  58. package/dist/v1/components/text/index.d.ts.map +1 -0
  59. package/dist/v1/components/text/text.cjs +58 -0
  60. package/dist/v1/components/text/text.cjs.map +1 -0
  61. package/dist/v1/components/text/text.d.ts +11 -0
  62. package/dist/v1/components/text/text.d.ts.map +1 -0
  63. package/dist/v1/components/text/text.js +56 -0
  64. package/dist/v1/components/text/text.js.map +1 -0
  65. package/dist/v1/components/text/text.module.css.cjs +8 -0
  66. package/dist/v1/components/text/text.module.css.cjs.map +1 -0
  67. package/dist/v1/components/text/text.module.css.js +4 -0
  68. package/dist/v1/components/text/text.module.css.js.map +1 -0
  69. package/dist/v1/components/themprovider/index.d.ts +1 -0
  70. package/dist/v1/components/themprovider/index.d.ts.map +1 -1
  71. package/dist/v1/components/themprovider/switcher.cjs +13 -2
  72. package/dist/v1/components/themprovider/switcher.cjs.map +1 -1
  73. package/dist/v1/components/themprovider/switcher.js +13 -2
  74. package/dist/v1/components/themprovider/switcher.js.map +1 -1
  75. package/dist/v1/components/themprovider/theme.cjs +154 -1
  76. package/dist/v1/components/themprovider/theme.cjs.map +1 -1
  77. package/dist/v1/components/themprovider/theme.js +155 -3
  78. package/dist/v1/components/themprovider/theme.js.map +1 -1
  79. package/dist/v1/components/toast/toast.cjs +1 -1
  80. package/dist/v1/components/toast/toast.cjs.map +1 -1
  81. package/dist/v1/components/toast/toast.js +1 -1
  82. package/dist/v1/components/toast/toast.js.map +1 -1
  83. package/dist/v1/components/toast/toast.module.css.cjs +1 -1
  84. package/dist/v1/components/toast/toast.module.css.js +1 -1
  85. package/dist/v1/index.cjs +11 -0
  86. package/dist/v1/index.cjs.map +1 -1
  87. package/dist/v1/index.d.ts +11 -7
  88. package/dist/v1/index.d.ts.map +1 -1
  89. package/dist/v1/index.js +5 -0
  90. package/dist/v1/index.js.map +1 -1
  91. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs +46 -0
  92. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs.map +1 -1
  93. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +45 -1
  94. package/dist/v1/node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
  95. package/dist/v1/style.css +1 -1
  96. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"text.cjs","sources":["../../text/text.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./text.module.css\";\n\nconst text = cva(styles.text, {\n variants: {\n size: {\n 1: styles[\"text-1\"],\n 2: styles[\"text-2\"],\n 3: styles[\"text-3\"],\n 4: styles[\"text-4\"],\n 5: styles[\"text-5\"],\n 6: styles[\"text-6\"],\n 7: styles[\"text-7\"],\n 8: styles[\"text-8\"],\n 9: styles[\"text-9\"],\n 10: styles[\"text-10\"],\n },\n weight: {\n bold: styles[\"text-weight-bold\"],\n bolder: styles[\"text-weight-bolder\"],\n normal: styles[\"text-weight-normal\"],\n lighter: styles[\"text-weight-lighter\"],\n 100: styles[\"text-weight-100\"],\n 200: styles[\"text-weight-200\"],\n 300: styles[\"text-weight-300\"],\n 400: styles[\"text-weight-400\"],\n 500: styles[\"text-weight-500\"],\n 600: styles[\"text-weight-600\"],\n 700: styles[\"text-weight-700\"],\n 800: styles[\"text-weight-800\"],\n 900: styles[\"text-weight-900\"],\n },\n },\n defaultVariants: {\n size: 2,\n weight: 400,\n },\n});\n\nexport type TextProps = PropsWithChildren<VariantProps<typeof text>> &\n HTMLAttributes<HTMLSpanElement>;\n\nexport function Text({\n children,\n className,\n size,\n weight,\n ...props\n}: TextProps) {\n return (\n <span className={text({ size, className, weight })} {...props}>\n {children}\n </span>\n );\n}\n"],"names":["cva","styles","_jsx"],"mappings":";;;;;;AAIA,MAAM,IAAI,GAAGA,SAAG,CAACC,mBAAM,CAAC,IAAI,EAAE;AAC5B,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,EAAE,EAAEA,mBAAM,CAAC,SAAS,CAAC;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAEA,mBAAM,CAAC,kBAAkB,CAAC;AAChC,YAAA,MAAM,EAAEA,mBAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,MAAM,EAAEA,mBAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,OAAO,EAAEA,mBAAM,CAAC,qBAAqB,CAAC;AACtC,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC/B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA;AACF,CAAA,CAAC,CAAC;AAKa,SAAA,IAAI,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,KAAK,EACE,EAAA;IACV,QACEC,2CAAM,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAM,GAAA,KAAK,YAC1D,QAAQ,EAAA,CACJ,EACP;AACJ;;;;"}
1
+ {"version":3,"file":"text.cjs","sources":["../../text/text.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./text.module.css\";\n\nconst text = cva(styles.text, {\n variants: {\n size: {\n 1: styles[\"text-1\"],\n 2: styles[\"text-2\"],\n 3: styles[\"text-3\"],\n 4: styles[\"text-4\"],\n 5: styles[\"text-5\"],\n 6: styles[\"text-6\"],\n 7: styles[\"text-7\"],\n 8: styles[\"text-8\"],\n 9: styles[\"text-9\"],\n 10: styles[\"text-10\"],\n },\n weight: {\n bold: styles[\"text-weight-bold\"],\n bolder: styles[\"text-weight-bolder\"],\n normal: styles[\"text-weight-normal\"],\n lighter: styles[\"text-weight-lighter\"],\n 100: styles[\"text-weight-100\"],\n 200: styles[\"text-weight-200\"],\n 300: styles[\"text-weight-300\"],\n 400: styles[\"text-weight-400\"],\n 500: styles[\"text-weight-500\"],\n 600: styles[\"text-weight-600\"],\n 700: styles[\"text-weight-700\"],\n 800: styles[\"text-weight-800\"],\n 900: styles[\"text-weight-900\"],\n },\n },\n defaultVariants: {\n size: 2,\n weight: 400,\n },\n});\n\nexport type TextProps = PropsWithChildren<VariantProps<typeof text>> &\n HTMLAttributes<HTMLSpanElement>;\n\n/**\n * @deprecated Use Text from '@raystack/apsara/v1' instead.\n */\nexport function Text({\n children,\n className,\n size,\n weight,\n ...props\n}: TextProps) {\n return (\n <span className={text({ size, className, weight })} {...props}>\n {children}\n </span>\n );\n}\n"],"names":["cva","styles","_jsx"],"mappings":";;;;;;AAIA,MAAM,IAAI,GAAGA,SAAG,CAACC,mBAAM,CAAC,IAAI,EAAE;AAC5B,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAEA,mBAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,EAAE,EAAEA,mBAAM,CAAC,SAAS,CAAC;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAEA,mBAAM,CAAC,kBAAkB,CAAC;AAChC,YAAA,MAAM,EAAEA,mBAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,MAAM,EAAEA,mBAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,OAAO,EAAEA,mBAAM,CAAC,qBAAqB,CAAC;AACtC,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAEA,mBAAM,CAAC,iBAAiB,CAAC;AAC/B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA;AACF,CAAA,CAAC,CAAC;AAKH;;AAEG;AACa,SAAA,IAAI,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,KAAK,EACE,EAAA;IACV,QACEC,2CAAM,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAM,GAAA,KAAK,YAC1D,QAAQ,EAAA,CACJ,EACP;AACJ;;;;"}
@@ -5,6 +5,9 @@ declare const text: (props?: ({
5
5
  weight?: "bold" | "normal" | "bolder" | "lighter" | 400 | 100 | 200 | 300 | 500 | 600 | 700 | 800 | 900 | null | undefined;
6
6
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
7
  export type TextProps = PropsWithChildren<VariantProps<typeof text>> & HTMLAttributes<HTMLSpanElement>;
8
+ /**
9
+ * @deprecated Use Text from '@raystack/apsara/v1' instead.
10
+ */
8
11
  export declare function Text({ children, className, size, weight, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
9
12
  export {};
10
13
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../text/text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG1D,QAAA,MAAM,IAAI;;;mFAkCR,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAClE,cAAc,CAAC,eAAe,CAAC,CAAC;AAElC,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,2CAMX"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../text/text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG1D,QAAA,MAAM,IAAI;;;mFAkCR,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAClE,cAAc,CAAC,eAAe,CAAC,CAAC;AAElC;;GAEG;AACH,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,2CAMX"}
package/dist/text/text.js CHANGED
@@ -37,6 +37,9 @@ const text = cva(styles.text, {
37
37
  weight: 400,
38
38
  },
39
39
  });
40
+ /**
41
+ * @deprecated Use Text from '@raystack/apsara/v1' instead.
42
+ */
40
43
  function Text({ children, className, size, weight, ...props }) {
41
44
  return (jsxRuntimeExports.jsx("span", { className: text({ size, className, weight }), ...props, children: children }));
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sources":["../../text/text.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./text.module.css\";\n\nconst text = cva(styles.text, {\n variants: {\n size: {\n 1: styles[\"text-1\"],\n 2: styles[\"text-2\"],\n 3: styles[\"text-3\"],\n 4: styles[\"text-4\"],\n 5: styles[\"text-5\"],\n 6: styles[\"text-6\"],\n 7: styles[\"text-7\"],\n 8: styles[\"text-8\"],\n 9: styles[\"text-9\"],\n 10: styles[\"text-10\"],\n },\n weight: {\n bold: styles[\"text-weight-bold\"],\n bolder: styles[\"text-weight-bolder\"],\n normal: styles[\"text-weight-normal\"],\n lighter: styles[\"text-weight-lighter\"],\n 100: styles[\"text-weight-100\"],\n 200: styles[\"text-weight-200\"],\n 300: styles[\"text-weight-300\"],\n 400: styles[\"text-weight-400\"],\n 500: styles[\"text-weight-500\"],\n 600: styles[\"text-weight-600\"],\n 700: styles[\"text-weight-700\"],\n 800: styles[\"text-weight-800\"],\n 900: styles[\"text-weight-900\"],\n },\n },\n defaultVariants: {\n size: 2,\n weight: 400,\n },\n});\n\nexport type TextProps = PropsWithChildren<VariantProps<typeof text>> &\n HTMLAttributes<HTMLSpanElement>;\n\nexport function Text({\n children,\n className,\n size,\n weight,\n ...props\n}: TextProps) {\n return (\n <span className={text({ size, className, weight })} {...props}>\n {children}\n </span>\n );\n}\n"],"names":["_jsx"],"mappings":";;;;AAIA,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;AAC5B,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC;AAChC,YAAA,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACtC,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC/B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA;AACF,CAAA,CAAC,CAAC;AAKa,SAAA,IAAI,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,KAAK,EACE,EAAA;IACV,QACEA,gCAAM,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAM,GAAA,KAAK,YAC1D,QAAQ,EAAA,CACJ,EACP;AACJ;;;;"}
1
+ {"version":3,"file":"text.js","sources":["../../text/text.tsx"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport styles from \"./text.module.css\";\n\nconst text = cva(styles.text, {\n variants: {\n size: {\n 1: styles[\"text-1\"],\n 2: styles[\"text-2\"],\n 3: styles[\"text-3\"],\n 4: styles[\"text-4\"],\n 5: styles[\"text-5\"],\n 6: styles[\"text-6\"],\n 7: styles[\"text-7\"],\n 8: styles[\"text-8\"],\n 9: styles[\"text-9\"],\n 10: styles[\"text-10\"],\n },\n weight: {\n bold: styles[\"text-weight-bold\"],\n bolder: styles[\"text-weight-bolder\"],\n normal: styles[\"text-weight-normal\"],\n lighter: styles[\"text-weight-lighter\"],\n 100: styles[\"text-weight-100\"],\n 200: styles[\"text-weight-200\"],\n 300: styles[\"text-weight-300\"],\n 400: styles[\"text-weight-400\"],\n 500: styles[\"text-weight-500\"],\n 600: styles[\"text-weight-600\"],\n 700: styles[\"text-weight-700\"],\n 800: styles[\"text-weight-800\"],\n 900: styles[\"text-weight-900\"],\n },\n },\n defaultVariants: {\n size: 2,\n weight: 400,\n },\n});\n\nexport type TextProps = PropsWithChildren<VariantProps<typeof text>> &\n HTMLAttributes<HTMLSpanElement>;\n\n/**\n * @deprecated Use Text from '@raystack/apsara/v1' instead.\n */\nexport function Text({\n children,\n className,\n size,\n weight,\n ...props\n}: TextProps) {\n return (\n <span className={text({ size, className, weight })} {...props}>\n {children}\n </span>\n );\n}\n"],"names":["_jsx"],"mappings":";;;;AAIA,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;AAC5B,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC;AAChC,YAAA,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;AACpC,YAAA,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC;AACtC,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC9B,YAAA,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC;AAC/B,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA;AACF,CAAA,CAAC,CAAC;AAKH;;AAEG;AACa,SAAA,IAAI,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,KAAK,EACE,EAAA;IACV,QACEA,gCAAM,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAM,GAAA,KAAK,YAC1D,QAAQ,EAAA,CACJ,EACP;AACJ;;;;"}
@@ -10,6 +10,9 @@ var Theme;
10
10
  Theme["DARK"] = "dark";
11
11
  Theme["LIGHT"] = "light";
12
12
  })(Theme || (Theme = {}));
13
+ /**
14
+ * @deprecated Use ThemeSwitcher from '@raystack/apsara/v1' instead.
15
+ */
13
16
  function ThemeSwitcher({ size = 30, ...props }) {
14
17
  const { theme: theme$1, setTheme } = theme.useTheme();
15
18
  const onClickHandler = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"switcher.cjs","sources":["../../themprovider/switcher.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@radix-ui/react-icons\";\nimport { Box } from \"~/box\";\nimport { useTheme } from \"./theme\";\n\nenum Theme {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\ntype Props = { size?: number };\nexport function ThemeSwitcher({ size = 30, ...props }: Props) {\n const { theme, setTheme } = useTheme();\n const onClickHandler = () => {\n setTheme(theme === Theme.DARK ? Theme.LIGHT : Theme.DARK);\n };\n\n return (\n <Box {...props}>\n {theme === Theme.DARK ? (\n <SunIcon width={size} height={size} onClick={onClickHandler} />\n ) : (\n <MoonIcon width={size} height={size} onClick={onClickHandler} />\n )}\n </Box>\n );\n}\n"],"names":["theme","useTheme","_jsx","Box","SunIcon","MoonIcon"],"mappings":";;;;;;;AAIA,IAAK,KAGJ,CAAA;AAHD,CAAA,UAAK,KAAK,EAAA;AACR,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHI,KAAK,KAAL,KAAK,GAGT,EAAA,CAAA,CAAA,CAAA;AAGK,SAAU,aAAa,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,EAAS,EAAA;IAC1D,MAAM,SAAEA,OAAK,EAAE,QAAQ,EAAE,GAAGC,cAAQ,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,QAAQ,CAACD,OAAK,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5D,KAAC,CAAC;IAEF,QACEE,gCAAC,CAAAC,OAAG,EAAK,EAAA,GAAA,KAAK,YACXH,OAAK,KAAK,KAAK,CAAC,IAAI,IACnBE,gCAAC,CAAAE,sBAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,KAE/DF,gCAAA,CAACG,uBAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,CACjE,EACG,CAAA,EACN;AACJ;;;;"}
1
+ {"version":3,"file":"switcher.cjs","sources":["../../themprovider/switcher.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@radix-ui/react-icons\";\nimport { Box } from \"~/box\";\nimport { useTheme } from \"./theme\";\n\nenum Theme {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\ntype Props = { size?: number };\n\n/**\n * @deprecated Use ThemeSwitcher from '@raystack/apsara/v1' instead.\n */\nexport function ThemeSwitcher({ size = 30, ...props }: Props) {\n const { theme, setTheme } = useTheme();\n const onClickHandler = () => {\n setTheme(theme === Theme.DARK ? Theme.LIGHT : Theme.DARK);\n };\n\n return (\n <Box {...props}>\n {theme === Theme.DARK ? (\n <SunIcon width={size} height={size} onClick={onClickHandler} />\n ) : (\n <MoonIcon width={size} height={size} onClick={onClickHandler} />\n )}\n </Box>\n );\n}\n"],"names":["theme","useTheme","_jsx","Box","SunIcon","MoonIcon"],"mappings":";;;;;;;AAIA,IAAK,KAGJ,CAAA;AAHD,CAAA,UAAK,KAAK,EAAA;AACR,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHI,KAAK,KAAL,KAAK,GAGT,EAAA,CAAA,CAAA,CAAA;AAID;;AAEG;AACG,SAAU,aAAa,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,EAAS,EAAA;IAC1D,MAAM,SAAEA,OAAK,EAAE,QAAQ,EAAE,GAAGC,cAAQ,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,QAAQ,CAACD,OAAK,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5D,KAAC,CAAC;IAEF,QACEE,gCAAC,CAAAC,OAAG,EAAK,EAAA,GAAA,KAAK,YACXH,OAAK,KAAK,KAAK,CAAC,IAAI,IACnBE,gCAAC,CAAAE,sBAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,KAE/DF,gCAAA,CAACG,uBAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,CACjE,EACG,CAAA,EACN;AACJ;;;;"}
@@ -1,6 +1,9 @@
1
1
  type Props = {
2
2
  size?: number;
3
3
  };
4
+ /**
5
+ * @deprecated Use ThemeSwitcher from '@raystack/apsara/v1' instead.
6
+ */
4
7
  export declare function ThemeSwitcher({ size, ...props }: Props): import("react/jsx-runtime").JSX.Element;
5
8
  export {};
6
9
  //# sourceMappingURL=switcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switcher.d.ts","sourceRoot":"","sources":["../../themprovider/switcher.tsx"],"names":[],"mappings":"AASA,KAAK,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/B,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,2CAe3D"}
1
+ {"version":3,"file":"switcher.d.ts","sourceRoot":"","sources":["../../themprovider/switcher.tsx"],"names":[],"mappings":"AASA,KAAK,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/B;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,2CAe3D"}
@@ -8,6 +8,9 @@ var Theme;
8
8
  Theme["DARK"] = "dark";
9
9
  Theme["LIGHT"] = "light";
10
10
  })(Theme || (Theme = {}));
11
+ /**
12
+ * @deprecated Use ThemeSwitcher from '@raystack/apsara/v1' instead.
13
+ */
11
14
  function ThemeSwitcher({ size = 30, ...props }) {
12
15
  const { theme, setTheme } = useTheme();
13
16
  const onClickHandler = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"switcher.js","sources":["../../themprovider/switcher.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@radix-ui/react-icons\";\nimport { Box } from \"~/box\";\nimport { useTheme } from \"./theme\";\n\nenum Theme {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\ntype Props = { size?: number };\nexport function ThemeSwitcher({ size = 30, ...props }: Props) {\n const { theme, setTheme } = useTheme();\n const onClickHandler = () => {\n setTheme(theme === Theme.DARK ? Theme.LIGHT : Theme.DARK);\n };\n\n return (\n <Box {...props}>\n {theme === Theme.DARK ? (\n <SunIcon width={size} height={size} onClick={onClickHandler} />\n ) : (\n <MoonIcon width={size} height={size} onClick={onClickHandler} />\n )}\n </Box>\n );\n}\n"],"names":["_jsx"],"mappings":";;;;;AAIA,IAAK,KAGJ,CAAA;AAHD,CAAA,UAAK,KAAK,EAAA;AACR,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHI,KAAK,KAAL,KAAK,GAGT,EAAA,CAAA,CAAA,CAAA;AAGK,SAAU,aAAa,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,EAAS,EAAA;IAC1D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5D,KAAC,CAAC;IAEF,QACEA,qBAAC,CAAA,GAAG,EAAK,EAAA,GAAA,KAAK,YACX,KAAK,KAAK,KAAK,CAAC,IAAI,IACnBA,qBAAC,CAAA,OAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,KAE/DA,qBAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,CACjE,EACG,CAAA,EACN;AACJ;;;;"}
1
+ {"version":3,"file":"switcher.js","sources":["../../themprovider/switcher.tsx"],"sourcesContent":["import { MoonIcon, SunIcon } from \"@radix-ui/react-icons\";\nimport { Box } from \"~/box\";\nimport { useTheme } from \"./theme\";\n\nenum Theme {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\ntype Props = { size?: number };\n\n/**\n * @deprecated Use ThemeSwitcher from '@raystack/apsara/v1' instead.\n */\nexport function ThemeSwitcher({ size = 30, ...props }: Props) {\n const { theme, setTheme } = useTheme();\n const onClickHandler = () => {\n setTheme(theme === Theme.DARK ? Theme.LIGHT : Theme.DARK);\n };\n\n return (\n <Box {...props}>\n {theme === Theme.DARK ? (\n <SunIcon width={size} height={size} onClick={onClickHandler} />\n ) : (\n <MoonIcon width={size} height={size} onClick={onClickHandler} />\n )}\n </Box>\n );\n}\n"],"names":["_jsx"],"mappings":";;;;;AAIA,IAAK,KAGJ,CAAA;AAHD,CAAA,UAAK,KAAK,EAAA;AACR,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHI,KAAK,KAAL,KAAK,GAGT,EAAA,CAAA,CAAA,CAAA;AAID;;AAEG;AACG,SAAU,aAAa,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,EAAS,EAAA;IAC1D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5D,KAAC,CAAC;IAEF,QACEA,qBAAC,CAAA,GAAG,EAAK,EAAA,GAAA,KAAK,YACX,KAAK,KAAK,KAAK,CAAC,IAAI,IACnBA,qBAAC,CAAA,OAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,KAE/DA,qBAAA,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAI,CAAA,CACjE,EACG,CAAA,EACN;AACJ;;;;"}
@@ -8,7 +8,13 @@ const MEDIA = "(prefers-color-scheme: dark)";
8
8
  const isServer = typeof window === "undefined";
9
9
  const ThemeContext = React.createContext(undefined);
10
10
  const defaultContext = { setTheme: (_) => { }, themes: [] };
11
+ /**
12
+ * @deprecated Use useTheme from '@raystack/apsara/v1' instead.
13
+ */
11
14
  const useTheme = () => React.useContext(ThemeContext) ?? defaultContext;
15
+ /**
16
+ * @deprecated Use ThemeProvider from '@raystack/apsara/v1' instead.
17
+ */
12
18
  const ThemeProvider = (props) => {
13
19
  const context = React.useContext(ThemeContext);
14
20
  // Ignore nested context providers, just passthrough children
@@ -45,19 +51,31 @@ const Theme = ({ forcedTheme, disableTransitionOnChange = false, enableSystem =
45
51
  d.removeAttribute(attribute);
46
52
  }
47
53
  }
48
- d.setAttribute('data-style', style);
49
- d.setAttribute('data-accent-color', accentColor);
50
- d.setAttribute('data-gray-color', grayColor);
54
+ d.setAttribute("data-style", style);
55
+ d.setAttribute("data-accent-color", accentColor);
56
+ d.setAttribute("data-gray-color", grayColor);
51
57
  if (enableColorScheme) {
52
58
  const fallback = colorSchemes.includes(defaultTheme)
53
59
  ? defaultTheme
54
60
  : null;
55
- const colorScheme = colorSchemes.includes(resolved) ? resolved : fallback;
61
+ const colorScheme = colorSchemes.includes(resolved)
62
+ ? resolved
63
+ : fallback;
56
64
  // @ts-ignore
57
65
  d.style.colorScheme = colorScheme;
58
66
  }
59
67
  enable?.();
60
- }, [style, accentColor, grayColor, attribute, attrs, value, enableSystem, enableColorScheme, defaultTheme]);
68
+ }, [
69
+ style,
70
+ accentColor,
71
+ grayColor,
72
+ attribute,
73
+ attrs,
74
+ value,
75
+ enableSystem,
76
+ enableColorScheme,
77
+ defaultTheme,
78
+ ]);
61
79
  const setTheme = React.useCallback((theme) => {
62
80
  setThemeState(theme);
63
81
  // Save to storage
@@ -111,7 +129,17 @@ const Theme = ({ forcedTheme, disableTransitionOnChange = false, enableSystem =
111
129
  style,
112
130
  accentColor,
113
131
  grayColor,
114
- }), [theme, setTheme, forcedTheme, resolvedTheme, enableSystem, themes, style, accentColor, grayColor]);
132
+ }), [
133
+ theme,
134
+ setTheme,
135
+ forcedTheme,
136
+ resolvedTheme,
137
+ enableSystem,
138
+ themes,
139
+ style,
140
+ accentColor,
141
+ grayColor,
142
+ ]);
115
143
  return (jsxRuntime.jsxRuntimeExports.jsxs(ThemeContext.Provider, { value: providerValue, children: [jsxRuntime.jsxRuntimeExports.jsx(ThemeScript, { forcedTheme,
116
144
  disableTransitionOnChange,
117
145
  enableSystem,
@@ -1 +1 @@
1
- {"version":3,"file":"theme.cjs","sources":["../../themprovider/theme.tsx"],"sourcesContent":["import React, {\n Fragment,\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport type { ThemeProviderProps, UseThemeProps } from \"./types\";\n\nconst colorSchemes = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nconst isServer = typeof window === \"undefined\";\nconst ThemeContext = createContext<UseThemeProps | undefined>(undefined);\nconst defaultContext: UseThemeProps = { setTheme: (_) => {}, themes: [] };\n\nexport const useTheme = () => useContext(ThemeContext) ?? defaultContext;\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = (props) => {\n const context = useContext(ThemeContext);\n\n // Ignore nested context providers, just passthrough children\n if (context) return <Fragment>{props.children}</Fragment>;\n return <Theme {...props} />;\n};\n\nconst defaultThemes = [\"light\", \"dark\"];\n\nconst Theme: React.FC<ThemeProviderProps> = ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = \"theme\",\n themes = defaultThemes,\n defaultTheme = enableSystem ? \"system\" : \"light\",\n attribute = \"data-theme\",\n value,\n children,\n nonce,\n style = \"modern\",\n accentColor = \"indigo\",\n grayColor = \"slate\",\n}) => {\n const [theme, setThemeState] = useState(() =>\n getTheme(storageKey, defaultTheme)\n );\n const [resolvedTheme, setResolvedTheme] = useState(() =>\n getTheme(storageKey)\n );\n const attrs = !value ? themes : Object.values(value);\n\n const applyTheme = useCallback((theme: string) => {\n let resolved = theme;\n if (!resolved) return;\n\n // If theme is system, resolve it before setting theme\n if (theme === \"system\" && enableSystem) {\n resolved = getSystemTheme();\n }\n\n const name = value ? value[resolved] : resolved;\n const enable = disableTransitionOnChange ? disableAnimation() : null;\n const d = document.documentElement;\n\n if (attribute === \"class\") {\n d.classList.remove(...attrs);\n\n if (name) d.classList.add(name);\n } else {\n if (name) {\n d.setAttribute(attribute, name);\n } else {\n d.removeAttribute(attribute);\n }\n }\n\n d.setAttribute('data-style', style);\n d.setAttribute('data-accent-color', accentColor);\n d.setAttribute('data-gray-color', grayColor);\n\n if (enableColorScheme) {\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n const colorScheme = colorSchemes.includes(resolved) ? resolved : fallback;\n // @ts-ignore\n d.style.colorScheme = colorScheme;\n }\n\n enable?.();\n }, [style, accentColor, grayColor, attribute, attrs, value, enableSystem, enableColorScheme, defaultTheme]);\n\n const setTheme = useCallback(\n (theme: string) => {\n setThemeState(theme);\n\n // Save to storage\n try {\n localStorage.setItem(storageKey, theme);\n } catch (e) {\n // Unsupported\n }\n },\n [forcedTheme]\n );\n\n const handleMediaQuery = useCallback(\n (e: MediaQueryListEvent | MediaQueryList) => {\n const resolved = getSystemTheme(e);\n setResolvedTheme(resolved);\n\n if (theme === \"system\" && enableSystem && !forcedTheme) {\n applyTheme(\"system\");\n }\n },\n [theme, forcedTheme]\n );\n\n // Always listen to System preference\n useEffect(() => {\n const media = window.matchMedia(MEDIA);\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n\n return () => media.removeListener(handleMediaQuery);\n }, [handleMediaQuery]);\n\n // localStorage event handling\n useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return;\n }\n\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n const theme = e.newValue || defaultTheme;\n setTheme(theme);\n };\n\n window.addEventListener(\"storage\", handleStorage);\n return () => window.removeEventListener(\"storage\", handleStorage);\n }, [setTheme]);\n\n // Whenever theme or forcedTheme changes, apply it\n useEffect(() => {\n // @ts-ignore\n applyTheme(forcedTheme ?? theme);\n }, [forcedTheme, theme]);\n\n const providerValue = useMemo(\n () => ({\n theme,\n setTheme,\n forcedTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, \"system\"] : themes,\n systemTheme: (enableSystem ? resolvedTheme : undefined) as\n | \"light\"\n | \"dark\"\n | undefined,\n style,\n accentColor,\n grayColor,\n }),\n [theme, setTheme, forcedTheme, resolvedTheme, enableSystem, themes, style, accentColor, grayColor]\n );\n\n return (\n <ThemeContext.Provider value={providerValue}>\n <ThemeScript\n {...{\n forcedTheme,\n disableTransitionOnChange,\n enableSystem,\n enableColorScheme,\n storageKey,\n themes,\n defaultTheme,\n attribute,\n value,\n children,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }}\n />\n {children}\n </ThemeContext.Provider>\n );\n};\n\nconst ThemeScript = memo(\n ({\n forcedTheme,\n storageKey,\n attribute,\n enableSystem,\n enableColorScheme,\n defaultTheme,\n value,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }: ThemeProviderProps & { attrs: string[]; defaultTheme: string }) => {\n const defaultSystem = defaultTheme === \"system\";\n\n // Code-golfing the amount of characters in the script\n const optimization = (() => {\n if (attribute === \"class\") {\n const removeClasses = `c.remove(${attrs\n .map((t: string) => `'${t}'`)\n .join(\",\")})`;\n\n return `var d=document.documentElement,c=d.classList;${removeClasses};`;\n } else {\n return `var d=document.documentElement,n='${attribute}',s='setAttribute';`;\n }\n })();\n\n const fallbackColorScheme = (() => {\n if (!enableColorScheme) {\n return \"\";\n }\n\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n\n if (fallback) {\n return `if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${defaultTheme}'`;\n } else {\n return `if(e==='light'||e==='dark')d.style.colorScheme=e`;\n }\n })();\n\n const updateDOM = (\n name: string,\n literal: boolean = false,\n setColorScheme = true\n ) => {\n const resolvedName = value ? value[name] : name;\n const val = literal ? name + `|| ''` : `'${resolvedName}'`;\n let text = \"\";\n\n // MUCH faster to set colorScheme alongside HTML attribute/class\n // as it only incurs 1 style recalculation rather than 2\n // This can save over 250ms of work for pages with big DOM\n if (\n enableColorScheme &&\n setColorScheme &&\n !literal &&\n colorSchemes.includes(name)\n ) {\n text += `d.style.colorScheme = '${name}';`;\n }\n\n if (attribute === \"class\") {\n if (literal || resolvedName) {\n text += `c.add(${val})`;\n } else {\n text += `null`;\n }\n } else {\n if (resolvedName) {\n text += `d[s](n,${val})`;\n }\n }\n\n return text;\n };\n\n const scriptSrc = (() => {\n if (forcedTheme) {\n return `!function(){${optimization}${updateDOM(forcedTheme)};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}()`;\n }\n\n if (enableSystem) {\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if('system'===e||(!e&&${defaultSystem})){var t='${MEDIA}',m=window.matchMedia(t);if(m.media!==t||m.matches){${updateDOM(\n \"dark\"\n )}}else{${updateDOM(\"light\")}}}else if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}${\n !defaultSystem\n ? `else{` + updateDOM(defaultTheme, false, false) + \"}\"\n : \"\"\n }${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(e){}}()`;\n }\n\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}else{${updateDOM(\n defaultTheme,\n false,\n false\n )};}${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(t){}}();`;\n })();\n\n return (\n <script nonce={nonce} dangerouslySetInnerHTML={{ __html: scriptSrc }} />\n );\n },\n // Never re-render this component\n () => true\n);\n\n// Helpers\nconst getTheme = (key: string, fallback?: string) => {\n if (isServer) return undefined;\n let theme;\n try {\n theme = localStorage.getItem(key) || undefined;\n } catch (e) {\n // Unsupported\n }\n return theme || fallback;\n};\n\nconst disableAnimation = () => {\n const css = document.createElement(\"style\");\n css.appendChild(\n document.createTextNode(\n `*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`\n )\n );\n document.head.appendChild(css);\n\n return () => {\n // Force restyle\n (() => window.getComputedStyle(document.body))();\n\n // Wait for next tick before removing\n setTimeout(() => {\n document.head.removeChild(css);\n }, 1);\n };\n};\n\nconst getSystemTheme = (e?: MediaQueryList | MediaQueryListEvent) => {\n if (!e) e = window.matchMedia(MEDIA);\n const isDark = e.matches;\n const systemTheme = isDark ? \"dark\" : \"light\";\n return systemTheme;\n};\n"],"names":["createContext","useContext","_jsx","Fragment","useState","useCallback","useEffect","useMemo","_jsxs","memo"],"mappings":"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"}
1
+ {"version":3,"file":"theme.cjs","sources":["../../themprovider/theme.tsx"],"sourcesContent":["import React, {\n Fragment,\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport type { ThemeProviderProps, UseThemeProps } from \"./types\";\n\nconst colorSchemes = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nconst isServer = typeof window === \"undefined\";\nconst ThemeContext = createContext<UseThemeProps | undefined>(undefined);\nconst defaultContext: UseThemeProps = { setTheme: (_) => {}, themes: [] };\n\n/**\n * @deprecated Use useTheme from '@raystack/apsara/v1' instead.\n */\nexport const useTheme = () => useContext(ThemeContext) ?? defaultContext;\n\n/**\n * @deprecated Use ThemeProvider from '@raystack/apsara/v1' instead.\n */\nexport const ThemeProvider: React.FC<ThemeProviderProps> = (props) => {\n const context = useContext(ThemeContext);\n\n // Ignore nested context providers, just passthrough children\n if (context) return <Fragment>{props.children}</Fragment>;\n return <Theme {...props} />;\n};\n\nconst defaultThemes = [\"light\", \"dark\"];\n\nconst Theme: React.FC<ThemeProviderProps> = ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = \"theme\",\n themes = defaultThemes,\n defaultTheme = enableSystem ? \"system\" : \"light\",\n attribute = \"data-theme\",\n value,\n children,\n nonce,\n style = \"modern\",\n accentColor = \"indigo\",\n grayColor = \"slate\",\n}) => {\n const [theme, setThemeState] = useState(() =>\n getTheme(storageKey, defaultTheme)\n );\n const [resolvedTheme, setResolvedTheme] = useState(() =>\n getTheme(storageKey)\n );\n const attrs = !value ? themes : Object.values(value);\n\n const applyTheme = useCallback(\n (theme: string) => {\n let resolved = theme;\n if (!resolved) return;\n\n // If theme is system, resolve it before setting theme\n if (theme === \"system\" && enableSystem) {\n resolved = getSystemTheme();\n }\n\n const name = value ? value[resolved] : resolved;\n const enable = disableTransitionOnChange ? disableAnimation() : null;\n const d = document.documentElement;\n\n if (attribute === \"class\") {\n d.classList.remove(...attrs);\n\n if (name) d.classList.add(name);\n } else {\n if (name) {\n d.setAttribute(attribute, name);\n } else {\n d.removeAttribute(attribute);\n }\n }\n\n d.setAttribute(\"data-style\", style);\n d.setAttribute(\"data-accent-color\", accentColor);\n d.setAttribute(\"data-gray-color\", grayColor);\n\n if (enableColorScheme) {\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n const colorScheme = colorSchemes.includes(resolved)\n ? resolved\n : fallback;\n // @ts-ignore\n d.style.colorScheme = colorScheme;\n }\n\n enable?.();\n },\n [\n style,\n accentColor,\n grayColor,\n attribute,\n attrs,\n value,\n enableSystem,\n enableColorScheme,\n defaultTheme,\n ]\n );\n\n const setTheme = useCallback(\n (theme: string) => {\n setThemeState(theme);\n\n // Save to storage\n try {\n localStorage.setItem(storageKey, theme);\n } catch (e) {\n // Unsupported\n }\n },\n [forcedTheme]\n );\n\n const handleMediaQuery = useCallback(\n (e: MediaQueryListEvent | MediaQueryList) => {\n const resolved = getSystemTheme(e);\n setResolvedTheme(resolved);\n\n if (theme === \"system\" && enableSystem && !forcedTheme) {\n applyTheme(\"system\");\n }\n },\n [theme, forcedTheme]\n );\n\n // Always listen to System preference\n useEffect(() => {\n const media = window.matchMedia(MEDIA);\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n\n return () => media.removeListener(handleMediaQuery);\n }, [handleMediaQuery]);\n\n // localStorage event handling\n useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return;\n }\n\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n const theme = e.newValue || defaultTheme;\n setTheme(theme);\n };\n\n window.addEventListener(\"storage\", handleStorage);\n return () => window.removeEventListener(\"storage\", handleStorage);\n }, [setTheme]);\n\n // Whenever theme or forcedTheme changes, apply it\n useEffect(() => {\n // @ts-ignore\n applyTheme(forcedTheme ?? theme);\n }, [forcedTheme, theme]);\n\n const providerValue = useMemo(\n () => ({\n theme,\n setTheme,\n forcedTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, \"system\"] : themes,\n systemTheme: (enableSystem ? resolvedTheme : undefined) as\n | \"light\"\n | \"dark\"\n | undefined,\n style,\n accentColor,\n grayColor,\n }),\n [\n theme,\n setTheme,\n forcedTheme,\n resolvedTheme,\n enableSystem,\n themes,\n style,\n accentColor,\n grayColor,\n ]\n );\n\n return (\n <ThemeContext.Provider value={providerValue}>\n <ThemeScript\n {...{\n forcedTheme,\n disableTransitionOnChange,\n enableSystem,\n enableColorScheme,\n storageKey,\n themes,\n defaultTheme,\n attribute,\n value,\n children,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }}\n />\n {children}\n </ThemeContext.Provider>\n );\n};\n\nconst ThemeScript = memo(\n ({\n forcedTheme,\n storageKey,\n attribute,\n enableSystem,\n enableColorScheme,\n defaultTheme,\n value,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }: ThemeProviderProps & { attrs: string[]; defaultTheme: string }) => {\n const defaultSystem = defaultTheme === \"system\";\n\n // Code-golfing the amount of characters in the script\n const optimization = (() => {\n if (attribute === \"class\") {\n const removeClasses = `c.remove(${attrs\n .map((t: string) => `'${t}'`)\n .join(\",\")})`;\n\n return `var d=document.documentElement,c=d.classList;${removeClasses};`;\n } else {\n return `var d=document.documentElement,n='${attribute}',s='setAttribute';`;\n }\n })();\n\n const fallbackColorScheme = (() => {\n if (!enableColorScheme) {\n return \"\";\n }\n\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n\n if (fallback) {\n return `if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${defaultTheme}'`;\n } else {\n return `if(e==='light'||e==='dark')d.style.colorScheme=e`;\n }\n })();\n\n const updateDOM = (\n name: string,\n literal: boolean = false,\n setColorScheme = true\n ) => {\n const resolvedName = value ? value[name] : name;\n const val = literal ? name + `|| ''` : `'${resolvedName}'`;\n let text = \"\";\n\n // MUCH faster to set colorScheme alongside HTML attribute/class\n // as it only incurs 1 style recalculation rather than 2\n // This can save over 250ms of work for pages with big DOM\n if (\n enableColorScheme &&\n setColorScheme &&\n !literal &&\n colorSchemes.includes(name)\n ) {\n text += `d.style.colorScheme = '${name}';`;\n }\n\n if (attribute === \"class\") {\n if (literal || resolvedName) {\n text += `c.add(${val})`;\n } else {\n text += `null`;\n }\n } else {\n if (resolvedName) {\n text += `d[s](n,${val})`;\n }\n }\n\n return text;\n };\n\n const scriptSrc = (() => {\n if (forcedTheme) {\n return `!function(){${optimization}${updateDOM(\n forcedTheme\n )};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}()`;\n }\n\n if (enableSystem) {\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if('system'===e||(!e&&${defaultSystem})){var t='${MEDIA}',m=window.matchMedia(t);if(m.media!==t||m.matches){${updateDOM(\n \"dark\"\n )}}else{${updateDOM(\"light\")}}}else if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}${\n !defaultSystem\n ? `else{` + updateDOM(defaultTheme, false, false) + \"}\"\n : \"\"\n }${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(e){}}()`;\n }\n\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}else{${updateDOM(\n defaultTheme,\n false,\n false\n )};}${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(t){}}();`;\n })();\n\n return (\n <script nonce={nonce} dangerouslySetInnerHTML={{ __html: scriptSrc }} />\n );\n },\n // Never re-render this component\n () => true\n);\n\n// Helpers\nconst getTheme = (key: string, fallback?: string) => {\n if (isServer) return undefined;\n let theme;\n try {\n theme = localStorage.getItem(key) || undefined;\n } catch (e) {\n // Unsupported\n }\n return theme || fallback;\n};\n\nconst disableAnimation = () => {\n const css = document.createElement(\"style\");\n css.appendChild(\n document.createTextNode(\n `*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`\n )\n );\n document.head.appendChild(css);\n\n return () => {\n // Force restyle\n (() => window.getComputedStyle(document.body))();\n\n // Wait for next tick before removing\n setTimeout(() => {\n document.head.removeChild(css);\n }, 1);\n };\n};\n\nconst getSystemTheme = (e?: MediaQueryList | MediaQueryListEvent) => {\n if (!e) e = window.matchMedia(MEDIA);\n const isDark = e.matches;\n const systemTheme = isDark ? \"dark\" : \"light\";\n return systemTheme;\n};\n"],"names":["createContext","useContext","_jsx","Fragment","useState","useCallback","useEffect","useMemo","_jsxs","memo"],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import React from "react";
2
2
  import type { ThemeProviderProps, UseThemeProps } from "./types";
3
+ /**
4
+ * @deprecated Use useTheme from '@raystack/apsara/v1' instead.
5
+ */
3
6
  export declare const useTheme: () => UseThemeProps;
7
+ /**
8
+ * @deprecated Use ThemeProvider from '@raystack/apsara/v1' instead.
9
+ */
4
10
  export declare const ThemeProvider: React.FC<ThemeProviderProps>;
5
11
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../themprovider/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQjE,eAAO,MAAM,QAAQ,qBAAmD,CAAC;AAEzE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAMtD,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../themprovider/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQjE;;GAEG;AACH,eAAO,MAAM,QAAQ,qBAAmD,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAMtD,CAAC"}
@@ -6,7 +6,13 @@ const MEDIA = "(prefers-color-scheme: dark)";
6
6
  const isServer = typeof window === "undefined";
7
7
  const ThemeContext = createContext(undefined);
8
8
  const defaultContext = { setTheme: (_) => { }, themes: [] };
9
+ /**
10
+ * @deprecated Use useTheme from '@raystack/apsara/v1' instead.
11
+ */
9
12
  const useTheme = () => useContext(ThemeContext) ?? defaultContext;
13
+ /**
14
+ * @deprecated Use ThemeProvider from '@raystack/apsara/v1' instead.
15
+ */
10
16
  const ThemeProvider = (props) => {
11
17
  const context = useContext(ThemeContext);
12
18
  // Ignore nested context providers, just passthrough children
@@ -43,19 +49,31 @@ const Theme = ({ forcedTheme, disableTransitionOnChange = false, enableSystem =
43
49
  d.removeAttribute(attribute);
44
50
  }
45
51
  }
46
- d.setAttribute('data-style', style);
47
- d.setAttribute('data-accent-color', accentColor);
48
- d.setAttribute('data-gray-color', grayColor);
52
+ d.setAttribute("data-style", style);
53
+ d.setAttribute("data-accent-color", accentColor);
54
+ d.setAttribute("data-gray-color", grayColor);
49
55
  if (enableColorScheme) {
50
56
  const fallback = colorSchemes.includes(defaultTheme)
51
57
  ? defaultTheme
52
58
  : null;
53
- const colorScheme = colorSchemes.includes(resolved) ? resolved : fallback;
59
+ const colorScheme = colorSchemes.includes(resolved)
60
+ ? resolved
61
+ : fallback;
54
62
  // @ts-ignore
55
63
  d.style.colorScheme = colorScheme;
56
64
  }
57
65
  enable?.();
58
- }, [style, accentColor, grayColor, attribute, attrs, value, enableSystem, enableColorScheme, defaultTheme]);
66
+ }, [
67
+ style,
68
+ accentColor,
69
+ grayColor,
70
+ attribute,
71
+ attrs,
72
+ value,
73
+ enableSystem,
74
+ enableColorScheme,
75
+ defaultTheme,
76
+ ]);
59
77
  const setTheme = useCallback((theme) => {
60
78
  setThemeState(theme);
61
79
  // Save to storage
@@ -109,7 +127,17 @@ const Theme = ({ forcedTheme, disableTransitionOnChange = false, enableSystem =
109
127
  style,
110
128
  accentColor,
111
129
  grayColor,
112
- }), [theme, setTheme, forcedTheme, resolvedTheme, enableSystem, themes, style, accentColor, grayColor]);
130
+ }), [
131
+ theme,
132
+ setTheme,
133
+ forcedTheme,
134
+ resolvedTheme,
135
+ enableSystem,
136
+ themes,
137
+ style,
138
+ accentColor,
139
+ grayColor,
140
+ ]);
113
141
  return (jsxRuntimeExports.jsxs(ThemeContext.Provider, { value: providerValue, children: [jsxRuntimeExports.jsx(ThemeScript, { forcedTheme,
114
142
  disableTransitionOnChange,
115
143
  enableSystem,
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../themprovider/theme.tsx"],"sourcesContent":["import React, {\n Fragment,\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport type { ThemeProviderProps, UseThemeProps } from \"./types\";\n\nconst colorSchemes = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nconst isServer = typeof window === \"undefined\";\nconst ThemeContext = createContext<UseThemeProps | undefined>(undefined);\nconst defaultContext: UseThemeProps = { setTheme: (_) => {}, themes: [] };\n\nexport const useTheme = () => useContext(ThemeContext) ?? defaultContext;\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = (props) => {\n const context = useContext(ThemeContext);\n\n // Ignore nested context providers, just passthrough children\n if (context) return <Fragment>{props.children}</Fragment>;\n return <Theme {...props} />;\n};\n\nconst defaultThemes = [\"light\", \"dark\"];\n\nconst Theme: React.FC<ThemeProviderProps> = ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = \"theme\",\n themes = defaultThemes,\n defaultTheme = enableSystem ? \"system\" : \"light\",\n attribute = \"data-theme\",\n value,\n children,\n nonce,\n style = \"modern\",\n accentColor = \"indigo\",\n grayColor = \"slate\",\n}) => {\n const [theme, setThemeState] = useState(() =>\n getTheme(storageKey, defaultTheme)\n );\n const [resolvedTheme, setResolvedTheme] = useState(() =>\n getTheme(storageKey)\n );\n const attrs = !value ? themes : Object.values(value);\n\n const applyTheme = useCallback((theme: string) => {\n let resolved = theme;\n if (!resolved) return;\n\n // If theme is system, resolve it before setting theme\n if (theme === \"system\" && enableSystem) {\n resolved = getSystemTheme();\n }\n\n const name = value ? value[resolved] : resolved;\n const enable = disableTransitionOnChange ? disableAnimation() : null;\n const d = document.documentElement;\n\n if (attribute === \"class\") {\n d.classList.remove(...attrs);\n\n if (name) d.classList.add(name);\n } else {\n if (name) {\n d.setAttribute(attribute, name);\n } else {\n d.removeAttribute(attribute);\n }\n }\n\n d.setAttribute('data-style', style);\n d.setAttribute('data-accent-color', accentColor);\n d.setAttribute('data-gray-color', grayColor);\n\n if (enableColorScheme) {\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n const colorScheme = colorSchemes.includes(resolved) ? resolved : fallback;\n // @ts-ignore\n d.style.colorScheme = colorScheme;\n }\n\n enable?.();\n }, [style, accentColor, grayColor, attribute, attrs, value, enableSystem, enableColorScheme, defaultTheme]);\n\n const setTheme = useCallback(\n (theme: string) => {\n setThemeState(theme);\n\n // Save to storage\n try {\n localStorage.setItem(storageKey, theme);\n } catch (e) {\n // Unsupported\n }\n },\n [forcedTheme]\n );\n\n const handleMediaQuery = useCallback(\n (e: MediaQueryListEvent | MediaQueryList) => {\n const resolved = getSystemTheme(e);\n setResolvedTheme(resolved);\n\n if (theme === \"system\" && enableSystem && !forcedTheme) {\n applyTheme(\"system\");\n }\n },\n [theme, forcedTheme]\n );\n\n // Always listen to System preference\n useEffect(() => {\n const media = window.matchMedia(MEDIA);\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n\n return () => media.removeListener(handleMediaQuery);\n }, [handleMediaQuery]);\n\n // localStorage event handling\n useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return;\n }\n\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n const theme = e.newValue || defaultTheme;\n setTheme(theme);\n };\n\n window.addEventListener(\"storage\", handleStorage);\n return () => window.removeEventListener(\"storage\", handleStorage);\n }, [setTheme]);\n\n // Whenever theme or forcedTheme changes, apply it\n useEffect(() => {\n // @ts-ignore\n applyTheme(forcedTheme ?? theme);\n }, [forcedTheme, theme]);\n\n const providerValue = useMemo(\n () => ({\n theme,\n setTheme,\n forcedTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, \"system\"] : themes,\n systemTheme: (enableSystem ? resolvedTheme : undefined) as\n | \"light\"\n | \"dark\"\n | undefined,\n style,\n accentColor,\n grayColor,\n }),\n [theme, setTheme, forcedTheme, resolvedTheme, enableSystem, themes, style, accentColor, grayColor]\n );\n\n return (\n <ThemeContext.Provider value={providerValue}>\n <ThemeScript\n {...{\n forcedTheme,\n disableTransitionOnChange,\n enableSystem,\n enableColorScheme,\n storageKey,\n themes,\n defaultTheme,\n attribute,\n value,\n children,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }}\n />\n {children}\n </ThemeContext.Provider>\n );\n};\n\nconst ThemeScript = memo(\n ({\n forcedTheme,\n storageKey,\n attribute,\n enableSystem,\n enableColorScheme,\n defaultTheme,\n value,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }: ThemeProviderProps & { attrs: string[]; defaultTheme: string }) => {\n const defaultSystem = defaultTheme === \"system\";\n\n // Code-golfing the amount of characters in the script\n const optimization = (() => {\n if (attribute === \"class\") {\n const removeClasses = `c.remove(${attrs\n .map((t: string) => `'${t}'`)\n .join(\",\")})`;\n\n return `var d=document.documentElement,c=d.classList;${removeClasses};`;\n } else {\n return `var d=document.documentElement,n='${attribute}',s='setAttribute';`;\n }\n })();\n\n const fallbackColorScheme = (() => {\n if (!enableColorScheme) {\n return \"\";\n }\n\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n\n if (fallback) {\n return `if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${defaultTheme}'`;\n } else {\n return `if(e==='light'||e==='dark')d.style.colorScheme=e`;\n }\n })();\n\n const updateDOM = (\n name: string,\n literal: boolean = false,\n setColorScheme = true\n ) => {\n const resolvedName = value ? value[name] : name;\n const val = literal ? name + `|| ''` : `'${resolvedName}'`;\n let text = \"\";\n\n // MUCH faster to set colorScheme alongside HTML attribute/class\n // as it only incurs 1 style recalculation rather than 2\n // This can save over 250ms of work for pages with big DOM\n if (\n enableColorScheme &&\n setColorScheme &&\n !literal &&\n colorSchemes.includes(name)\n ) {\n text += `d.style.colorScheme = '${name}';`;\n }\n\n if (attribute === \"class\") {\n if (literal || resolvedName) {\n text += `c.add(${val})`;\n } else {\n text += `null`;\n }\n } else {\n if (resolvedName) {\n text += `d[s](n,${val})`;\n }\n }\n\n return text;\n };\n\n const scriptSrc = (() => {\n if (forcedTheme) {\n return `!function(){${optimization}${updateDOM(forcedTheme)};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}()`;\n }\n\n if (enableSystem) {\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if('system'===e||(!e&&${defaultSystem})){var t='${MEDIA}',m=window.matchMedia(t);if(m.media!==t||m.matches){${updateDOM(\n \"dark\"\n )}}else{${updateDOM(\"light\")}}}else if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}${\n !defaultSystem\n ? `else{` + updateDOM(defaultTheme, false, false) + \"}\"\n : \"\"\n }${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(e){}}()`;\n }\n\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}else{${updateDOM(\n defaultTheme,\n false,\n false\n )};}${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(t){}}();`;\n })();\n\n return (\n <script nonce={nonce} dangerouslySetInnerHTML={{ __html: scriptSrc }} />\n );\n },\n // Never re-render this component\n () => true\n);\n\n// Helpers\nconst getTheme = (key: string, fallback?: string) => {\n if (isServer) return undefined;\n let theme;\n try {\n theme = localStorage.getItem(key) || undefined;\n } catch (e) {\n // Unsupported\n }\n return theme || fallback;\n};\n\nconst disableAnimation = () => {\n const css = document.createElement(\"style\");\n css.appendChild(\n document.createTextNode(\n `*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`\n )\n );\n document.head.appendChild(css);\n\n return () => {\n // Force restyle\n (() => window.getComputedStyle(document.body))();\n\n // Wait for next tick before removing\n setTimeout(() => {\n document.head.removeChild(css);\n }, 1);\n };\n};\n\nconst getSystemTheme = (e?: MediaQueryList | MediaQueryListEvent) => {\n if (!e) e = window.matchMedia(MEDIA);\n const isDark = e.matches;\n const systemTheme = isDark ? \"dark\" : \"light\";\n return systemTheme;\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sources":["../../themprovider/theme.tsx"],"sourcesContent":["import React, {\n Fragment,\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport type { ThemeProviderProps, UseThemeProps } from \"./types\";\n\nconst colorSchemes = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nconst isServer = typeof window === \"undefined\";\nconst ThemeContext = createContext<UseThemeProps | undefined>(undefined);\nconst defaultContext: UseThemeProps = { setTheme: (_) => {}, themes: [] };\n\n/**\n * @deprecated Use useTheme from '@raystack/apsara/v1' instead.\n */\nexport const useTheme = () => useContext(ThemeContext) ?? defaultContext;\n\n/**\n * @deprecated Use ThemeProvider from '@raystack/apsara/v1' instead.\n */\nexport const ThemeProvider: React.FC<ThemeProviderProps> = (props) => {\n const context = useContext(ThemeContext);\n\n // Ignore nested context providers, just passthrough children\n if (context) return <Fragment>{props.children}</Fragment>;\n return <Theme {...props} />;\n};\n\nconst defaultThemes = [\"light\", \"dark\"];\n\nconst Theme: React.FC<ThemeProviderProps> = ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = \"theme\",\n themes = defaultThemes,\n defaultTheme = enableSystem ? \"system\" : \"light\",\n attribute = \"data-theme\",\n value,\n children,\n nonce,\n style = \"modern\",\n accentColor = \"indigo\",\n grayColor = \"slate\",\n}) => {\n const [theme, setThemeState] = useState(() =>\n getTheme(storageKey, defaultTheme)\n );\n const [resolvedTheme, setResolvedTheme] = useState(() =>\n getTheme(storageKey)\n );\n const attrs = !value ? themes : Object.values(value);\n\n const applyTheme = useCallback(\n (theme: string) => {\n let resolved = theme;\n if (!resolved) return;\n\n // If theme is system, resolve it before setting theme\n if (theme === \"system\" && enableSystem) {\n resolved = getSystemTheme();\n }\n\n const name = value ? value[resolved] : resolved;\n const enable = disableTransitionOnChange ? disableAnimation() : null;\n const d = document.documentElement;\n\n if (attribute === \"class\") {\n d.classList.remove(...attrs);\n\n if (name) d.classList.add(name);\n } else {\n if (name) {\n d.setAttribute(attribute, name);\n } else {\n d.removeAttribute(attribute);\n }\n }\n\n d.setAttribute(\"data-style\", style);\n d.setAttribute(\"data-accent-color\", accentColor);\n d.setAttribute(\"data-gray-color\", grayColor);\n\n if (enableColorScheme) {\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n const colorScheme = colorSchemes.includes(resolved)\n ? resolved\n : fallback;\n // @ts-ignore\n d.style.colorScheme = colorScheme;\n }\n\n enable?.();\n },\n [\n style,\n accentColor,\n grayColor,\n attribute,\n attrs,\n value,\n enableSystem,\n enableColorScheme,\n defaultTheme,\n ]\n );\n\n const setTheme = useCallback(\n (theme: string) => {\n setThemeState(theme);\n\n // Save to storage\n try {\n localStorage.setItem(storageKey, theme);\n } catch (e) {\n // Unsupported\n }\n },\n [forcedTheme]\n );\n\n const handleMediaQuery = useCallback(\n (e: MediaQueryListEvent | MediaQueryList) => {\n const resolved = getSystemTheme(e);\n setResolvedTheme(resolved);\n\n if (theme === \"system\" && enableSystem && !forcedTheme) {\n applyTheme(\"system\");\n }\n },\n [theme, forcedTheme]\n );\n\n // Always listen to System preference\n useEffect(() => {\n const media = window.matchMedia(MEDIA);\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n\n return () => media.removeListener(handleMediaQuery);\n }, [handleMediaQuery]);\n\n // localStorage event handling\n useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return;\n }\n\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n const theme = e.newValue || defaultTheme;\n setTheme(theme);\n };\n\n window.addEventListener(\"storage\", handleStorage);\n return () => window.removeEventListener(\"storage\", handleStorage);\n }, [setTheme]);\n\n // Whenever theme or forcedTheme changes, apply it\n useEffect(() => {\n // @ts-ignore\n applyTheme(forcedTheme ?? theme);\n }, [forcedTheme, theme]);\n\n const providerValue = useMemo(\n () => ({\n theme,\n setTheme,\n forcedTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, \"system\"] : themes,\n systemTheme: (enableSystem ? resolvedTheme : undefined) as\n | \"light\"\n | \"dark\"\n | undefined,\n style,\n accentColor,\n grayColor,\n }),\n [\n theme,\n setTheme,\n forcedTheme,\n resolvedTheme,\n enableSystem,\n themes,\n style,\n accentColor,\n grayColor,\n ]\n );\n\n return (\n <ThemeContext.Provider value={providerValue}>\n <ThemeScript\n {...{\n forcedTheme,\n disableTransitionOnChange,\n enableSystem,\n enableColorScheme,\n storageKey,\n themes,\n defaultTheme,\n attribute,\n value,\n children,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }}\n />\n {children}\n </ThemeContext.Provider>\n );\n};\n\nconst ThemeScript = memo(\n ({\n forcedTheme,\n storageKey,\n attribute,\n enableSystem,\n enableColorScheme,\n defaultTheme,\n value,\n attrs,\n nonce,\n style,\n accentColor,\n grayColor,\n }: ThemeProviderProps & { attrs: string[]; defaultTheme: string }) => {\n const defaultSystem = defaultTheme === \"system\";\n\n // Code-golfing the amount of characters in the script\n const optimization = (() => {\n if (attribute === \"class\") {\n const removeClasses = `c.remove(${attrs\n .map((t: string) => `'${t}'`)\n .join(\",\")})`;\n\n return `var d=document.documentElement,c=d.classList;${removeClasses};`;\n } else {\n return `var d=document.documentElement,n='${attribute}',s='setAttribute';`;\n }\n })();\n\n const fallbackColorScheme = (() => {\n if (!enableColorScheme) {\n return \"\";\n }\n\n const fallback = colorSchemes.includes(defaultTheme)\n ? defaultTheme\n : null;\n\n if (fallback) {\n return `if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${defaultTheme}'`;\n } else {\n return `if(e==='light'||e==='dark')d.style.colorScheme=e`;\n }\n })();\n\n const updateDOM = (\n name: string,\n literal: boolean = false,\n setColorScheme = true\n ) => {\n const resolvedName = value ? value[name] : name;\n const val = literal ? name + `|| ''` : `'${resolvedName}'`;\n let text = \"\";\n\n // MUCH faster to set colorScheme alongside HTML attribute/class\n // as it only incurs 1 style recalculation rather than 2\n // This can save over 250ms of work for pages with big DOM\n if (\n enableColorScheme &&\n setColorScheme &&\n !literal &&\n colorSchemes.includes(name)\n ) {\n text += `d.style.colorScheme = '${name}';`;\n }\n\n if (attribute === \"class\") {\n if (literal || resolvedName) {\n text += `c.add(${val})`;\n } else {\n text += `null`;\n }\n } else {\n if (resolvedName) {\n text += `d[s](n,${val})`;\n }\n }\n\n return text;\n };\n\n const scriptSrc = (() => {\n if (forcedTheme) {\n return `!function(){${optimization}${updateDOM(\n forcedTheme\n )};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}()`;\n }\n\n if (enableSystem) {\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if('system'===e||(!e&&${defaultSystem})){var t='${MEDIA}',m=window.matchMedia(t);if(m.media!==t||m.matches){${updateDOM(\n \"dark\"\n )}}else{${updateDOM(\"light\")}}}else if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}${\n !defaultSystem\n ? `else{` + updateDOM(defaultTheme, false, false) + \"}\"\n : \"\"\n }${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(e){}}()`;\n }\n\n return `!function(){try{${optimization}var e=localStorage.getItem('${storageKey}');if(e){${\n value ? `var x=${JSON.stringify(value)};` : \"\"\n }${updateDOM(value ? `x[e]` : \"e\", true)}}else{${updateDOM(\n defaultTheme,\n false,\n false\n )};}${fallbackColorScheme};d.setAttribute('data-style','${style}');d.setAttribute('data-accent-color','${accentColor}');d.setAttribute('data-gray-color','${grayColor}');}catch(t){}}();`;\n })();\n\n return (\n <script nonce={nonce} dangerouslySetInnerHTML={{ __html: scriptSrc }} />\n );\n },\n // Never re-render this component\n () => true\n);\n\n// Helpers\nconst getTheme = (key: string, fallback?: string) => {\n if (isServer) return undefined;\n let theme;\n try {\n theme = localStorage.getItem(key) || undefined;\n } catch (e) {\n // Unsupported\n }\n return theme || fallback;\n};\n\nconst disableAnimation = () => {\n const css = document.createElement(\"style\");\n css.appendChild(\n document.createTextNode(\n `*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`\n )\n );\n document.head.appendChild(css);\n\n return () => {\n // Force restyle\n (() => window.getComputedStyle(document.body))();\n\n // Wait for next tick before removing\n setTimeout(() => {\n document.head.removeChild(css);\n }, 1);\n };\n};\n\nconst getSystemTheme = (e?: MediaQueryList | MediaQueryListEvent) => {\n if (!e) e = window.matchMedia(MEDIA);\n const isDark = e.matches;\n const systemTheme = isDark ? \"dark\" : \"light\";\n return systemTheme;\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
+ var emptystate_module = require('./emptystate.module.css.cjs');
5
+ var flex = require('../flex/flex.cjs');
6
+ var text = require('../text/text.cjs');
7
+ var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
8
+
9
+ const EmptyState = ({ icon, heading, subHeading, primaryAction, secondaryAction, classNames, }) => {
10
+ return (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { direction: "column", align: "center", gap: "medium", className: clsx.clsx(emptystate_module.default.emptyState, classNames?.container), children: [jsxRuntime.jsxRuntimeExports.jsx("div", { className: clsx.clsx(emptystate_module.default.iconContainer, classNames?.iconContainer), children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: clsx.clsx(emptystate_module.default.icon, classNames?.icon), children: icon }) }), jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { direction: "column", gap: "small", align: "center", children: [heading && (jsxRuntime.jsxRuntimeExports.jsx(text.Text, { size: 5, weight: 500, className: clsx.clsx(emptystate_module.default.headerText, classNames?.heading), children: heading })), subHeading && (jsxRuntime.jsxRuntimeExports.jsx(text.Text, { size: 4, weight: 400, className: clsx.clsx(emptystate_module.default.subHeaderText, classNames?.subHeading), children: subHeading }))] }), primaryAction, secondaryAction] }));
11
+ };
12
+
13
+ exports.EmptyState = EmptyState;
14
+ //# sourceMappingURL=emptystate.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptystate.cjs","sources":["../../../../v1/components/emptystate/emptystate.tsx"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport styles from \"./emptystate.module.css\";\nconst emptystate = cva(styles.emptystate);\nimport { Flex } from \"../flex\";\nimport { Text } from \"../text\";\nimport clsx from \"clsx\";\n\ntype classNameKeys =\n | \"container\"\n | \"iconContainer\"\n | \"icon\"\n | \"heading\"\n | \"subHeading\";\n\ninterface EmptystateProps {\n icon: React.ReactNode;\n heading?: React.ReactNode;\n subHeading?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n classNames?: Partial<Record<classNameKeys, string>>;\n}\n\nexport const EmptyState = ({\n icon,\n heading,\n subHeading,\n primaryAction,\n secondaryAction,\n classNames,\n}: EmptystateProps) => {\n return (\n <Flex\n direction=\"column\"\n align=\"center\"\n gap=\"medium\"\n className={clsx(styles.emptyState, classNames?.container)}\n >\n <div className={clsx(styles.iconContainer, classNames?.iconContainer)}>\n <div className={clsx(styles.icon, classNames?.icon)}>{icon}</div>\n </div>\n\n <Flex direction=\"column\" gap=\"small\" align=\"center\">\n {heading && (\n <Text\n size={5}\n weight={500}\n className={clsx(styles.headerText, classNames?.heading)}\n >\n {heading}\n </Text>\n )}\n\n {subHeading && (\n <Text\n size={4}\n weight={400}\n className={clsx(styles.subHeaderText, classNames?.subHeading)}\n >\n {subHeading}\n </Text>\n )}\n </Flex>\n\n {primaryAction}\n\n {secondaryAction}\n </Flex>\n );\n};\n"],"names":["_jsxs","Flex","clsx","styles","_jsx","Text"],"mappings":";;;;;;;;AAuBa,MAAA,UAAU,GAAG,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,GACM,KAAI;AACpB,IAAA,QACEA,iCAAA,CAACC,SAAI,EAAA,EACH,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,QAAQ,EACZ,SAAS,EAAEC,SAAI,CAACC,yBAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAEzD,QAAA,EAAA,CAAAC,gCAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEF,SAAI,CAACC,yBAAM,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,EACnE,QAAA,EAAAC,gCAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEF,SAAI,CAACC,yBAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAA,QAAA,EAAG,IAAI,EAAA,CAAO,GAC7D,EAENH,iCAAA,CAACC,SAAI,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,QAAQ,EAAA,QAAA,EAAA,CAChD,OAAO,KACNG,gCAAC,CAAAC,SAAI,EACH,EAAA,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,GAAG,EACX,SAAS,EAAEH,SAAI,CAACC,yBAAM,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAEtD,QAAA,EAAA,OAAO,EACH,CAAA,CACR,EAEA,UAAU,KACTC,gCAAA,CAACC,SAAI,EAAA,EACH,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,GAAG,EACX,SAAS,EAAEH,SAAI,CAACC,yBAAM,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,YAE5D,UAAU,EAAA,CACN,CACR,CAAA,EAAA,CACI,EAEN,aAAa,EAEb,eAAe,CAAA,EAAA,CACX,EACP;AACJ;;;;"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ type classNameKeys = "container" | "iconContainer" | "icon" | "heading" | "subHeading";
3
+ interface EmptystateProps {
4
+ icon: React.ReactNode;
5
+ heading?: React.ReactNode;
6
+ subHeading?: React.ReactNode;
7
+ primaryAction?: React.ReactNode;
8
+ secondaryAction?: React.ReactNode;
9
+ classNames?: Partial<Record<classNameKeys, string>>;
10
+ }
11
+ export declare const EmptyState: ({ icon, heading, subHeading, primaryAction, secondaryAction, classNames, }: EmptystateProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=emptystate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptystate.d.ts","sourceRoot":"","sources":["../../../../v1/components/emptystate/emptystate.tsx"],"names":[],"mappings":";AAOA,KAAK,aAAa,GACd,WAAW,GACX,eAAe,GACf,MAAM,GACN,SAAS,GACT,YAAY,CAAC;AAEjB,UAAU,eAAe;IACvB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,UAAU,+EAOpB,eAAe,4CAuCjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
2
+ import styles from './emptystate.module.css.js';
3
+ import { Flex } from '../flex/flex.js';
4
+ import { Text } from '../text/text.js';
5
+ import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
6
+
7
+ const EmptyState = ({ icon, heading, subHeading, primaryAction, secondaryAction, classNames, }) => {
8
+ return (jsxRuntimeExports.jsxs(Flex, { direction: "column", align: "center", gap: "medium", className: clsx(styles.emptyState, classNames?.container), children: [jsxRuntimeExports.jsx("div", { className: clsx(styles.iconContainer, classNames?.iconContainer), children: jsxRuntimeExports.jsx("div", { className: clsx(styles.icon, classNames?.icon), children: icon }) }), jsxRuntimeExports.jsxs(Flex, { direction: "column", gap: "small", align: "center", children: [heading && (jsxRuntimeExports.jsx(Text, { size: 5, weight: 500, className: clsx(styles.headerText, classNames?.heading), children: heading })), subHeading && (jsxRuntimeExports.jsx(Text, { size: 4, weight: 400, className: clsx(styles.subHeaderText, classNames?.subHeading), children: subHeading }))] }), primaryAction, secondaryAction] }));
9
+ };
10
+
11
+ export { EmptyState };
12
+ //# sourceMappingURL=emptystate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptystate.js","sources":["../../../../v1/components/emptystate/emptystate.tsx"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport styles from \"./emptystate.module.css\";\nconst emptystate = cva(styles.emptystate);\nimport { Flex } from \"../flex\";\nimport { Text } from \"../text\";\nimport clsx from \"clsx\";\n\ntype classNameKeys =\n | \"container\"\n | \"iconContainer\"\n | \"icon\"\n | \"heading\"\n | \"subHeading\";\n\ninterface EmptystateProps {\n icon: React.ReactNode;\n heading?: React.ReactNode;\n subHeading?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n classNames?: Partial<Record<classNameKeys, string>>;\n}\n\nexport const EmptyState = ({\n icon,\n heading,\n subHeading,\n primaryAction,\n secondaryAction,\n classNames,\n}: EmptystateProps) => {\n return (\n <Flex\n direction=\"column\"\n align=\"center\"\n gap=\"medium\"\n className={clsx(styles.emptyState, classNames?.container)}\n >\n <div className={clsx(styles.iconContainer, classNames?.iconContainer)}>\n <div className={clsx(styles.icon, classNames?.icon)}>{icon}</div>\n </div>\n\n <Flex direction=\"column\" gap=\"small\" align=\"center\">\n {heading && (\n <Text\n size={5}\n weight={500}\n className={clsx(styles.headerText, classNames?.heading)}\n >\n {heading}\n </Text>\n )}\n\n {subHeading && (\n <Text\n size={4}\n weight={400}\n className={clsx(styles.subHeaderText, classNames?.subHeading)}\n >\n {subHeading}\n </Text>\n )}\n </Flex>\n\n {primaryAction}\n\n {secondaryAction}\n </Flex>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAuBa,MAAA,UAAU,GAAG,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,GACM,KAAI;AACpB,IAAA,QACEA,sBAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,QAAQ,EACZ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAEzD,QAAA,EAAA,CAAAC,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,EACnE,QAAA,EAAAA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAA,QAAA,EAAG,IAAI,EAAA,CAAO,GAC7D,EAEND,sBAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,QAAQ,EAAA,QAAA,EAAA,CAChD,OAAO,KACNC,qBAAC,CAAA,IAAI,EACH,EAAA,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAEtD,QAAA,EAAA,OAAO,EACH,CAAA,CACR,EAEA,UAAU,KACTA,qBAAA,CAAC,IAAI,EAAA,EACH,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,YAE5D,UAAU,EAAA,CACN,CACR,CAAA,EAAA,CACI,EAEN,aAAa,EAEb,eAAe,CAAA,EAAA,CACX,EACP;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styles = {"emptyState":"emptystate-module_emptyState__QyhYm","iconContainer":"emptystate-module_iconContainer__-dRHk","icon":"emptystate-module_icon__et-tb","headerText":"emptystate-module_headerText__mFasw","subHeaderText":"emptystate-module_subHeaderText__WEVex"};
6
+
7
+ exports.default = styles;
8
+ //# sourceMappingURL=emptystate.module.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptystate.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ var styles = {"emptyState":"emptystate-module_emptyState__QyhYm","iconContainer":"emptystate-module_iconContainer__-dRHk","icon":"emptystate-module_icon__et-tb","headerText":"emptystate-module_headerText__mFasw","subHeaderText":"emptystate-module_subHeaderText__WEVex"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=emptystate.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptystate.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,2 @@
1
+ export { EmptyState } from "./emptystate";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../v1/components/emptystate/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}