@douglasneuroinformatics/libui 3.7.0 → 3.7.2

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.
@@ -34,19 +34,30 @@ var isDev = fs.existsSync(path.resolve(packageRoot, "src"));
34
34
  var config = ({
35
35
  content = [],
36
36
  include = [],
37
+ includeOwnContent = true,
37
38
  root = void 0,
38
39
  plugins = [],
39
40
  extend = {}
40
41
  } = {}) => {
41
- if (isDev) {
42
- content.push(path.resolve(packageRoot, "src/**/*.{js,jsx,ts,tsx}"));
43
- } else {
44
- content.push(path.resolve(packageRoot, "dist/**/*.js"));
42
+ if (includeOwnContent) {
43
+ if (isDev) {
44
+ content.push(path.resolve(packageRoot, "src/**/*.{js,jsx,ts,tsx}"));
45
+ } else {
46
+ content.push(path.resolve(packageRoot, "dist/**/*.js"));
47
+ }
45
48
  }
46
49
  for (const id of include) {
47
50
  const baseDir = path.dirname(require.resolve(`${id}/package.json`, { paths: root ? [root] : void 0 }));
48
51
  content.push(path.resolve(baseDir, "src/**/*.{js,ts,jsx,tsx}"));
49
52
  }
53
+ let userTheme;
54
+ if (Array.isArray(extend.theme)) {
55
+ userTheme = extend.theme;
56
+ } else if (_.isPlainObject(extend.theme)) {
57
+ userTheme = [extend.theme];
58
+ } else {
59
+ userTheme = [];
60
+ }
50
61
  return {
51
62
  content,
52
63
  darkMode: ["class", '[data-mode="dark"]'],
@@ -158,7 +169,7 @@ var config = ({
158
169
  "2xl": "1400px"
159
170
  }
160
171
  },
161
- extend.theme
172
+ ...userTheme
162
173
  )
163
174
  }
164
175
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tailwind/config.cts"],"sourcesContent":["import type { Config } from 'tailwindcss';\nimport type { CustomThemeConfig, PluginsConfig } from 'tailwindcss/types/config';\n\nimport fs = require('node:fs');\nimport path = require('node:path');\n\nimport animate = require('tailwindcss-animate');\nimport containerQueries = require('@tailwindcss/container-queries');\nimport plugin = require('tailwindcss/plugin');\nimport _ = require('lodash-es');\n\nconst packageRoot = path.dirname(require.resolve('@douglasneuroinformatics/libui/package.json'));\n\nconst isDev = fs.existsSync(path.resolve(packageRoot, 'src'));\n\ntype ConfigOptions = {\n content?: string[];\n include?: string[];\n plugins?: PluginsConfig;\n root?: string;\n extend?: {\n theme?: Partial<CustomThemeConfig>;\n };\n};\n\nconst config = ({\n content = [],\n include = [],\n root = undefined,\n plugins = [],\n extend = {}\n}: ConfigOptions = {}): Config => {\n if (isDev) {\n content.push(path.resolve(packageRoot, 'src/**/*.{js,jsx,ts,tsx}'));\n } else {\n content.push(path.resolve(packageRoot, 'dist/**/*.js'));\n }\n\n for (const id of include) {\n const baseDir = path.dirname(require.resolve(`${id}/package.json`, { paths: root ? [root] : undefined }));\n content.push(path.resolve(baseDir, 'src/**/*.{js,ts,jsx,tsx}'));\n }\n\n return {\n content,\n darkMode: ['class', '[data-mode=\"dark\"]'],\n plugins: [\n animate,\n containerQueries,\n plugin((api) => {\n api.addUtilities({\n '.scrollbar-none': {\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none'\n }\n });\n }),\n ...plugins\n ],\n theme: {\n container: {\n center: true,\n padding: {\n DEFAULT: '1rem',\n md: '2rem',\n xl: '3rem'\n }\n },\n extend: _.merge(\n {\n animation: {\n 'accordion-down': 'accordion-down 0.2s ease-out',\n 'accordion-up': 'accordion-up 0.2s ease-out',\n spinner: 'spinner-spin 1.7s infinite ease, round 1.7s infinite ease'\n },\n borderRadius: {\n lg: `var(--radius)`,\n md: `calc(var(--radius) - 2px)`,\n sm: 'calc(var(--radius) - 4px)'\n },\n colors: {\n accent: {\n DEFAULT: 'var(--accent)',\n foreground: 'var(--accent-foreground)'\n },\n background: 'var(--background)',\n border: 'var(--border)',\n card: {\n DEFAULT: 'var(--card)',\n foreground: 'var(--card-foreground)'\n },\n destructive: {\n DEFAULT: 'var(--destructive)',\n foreground: 'var(--destructive-foreground)'\n },\n foreground: 'var(--foreground)',\n input: 'var(--input)',\n muted: {\n DEFAULT: 'var(--muted)',\n foreground: 'var(--muted-foreground)'\n },\n popover: {\n DEFAULT: 'var(--popover)',\n foreground: 'var(--popover-foreground)'\n },\n primary: {\n DEFAULT: 'var(--primary)',\n foreground: 'var(--primary-foreground)'\n },\n ring: 'var(--ring)',\n secondary: {\n DEFAULT: 'var(--secondary)',\n foreground: 'var(--secondary-foreground)'\n }\n },\n keyframes: {\n 'accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' }\n },\n 'accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' }\n },\n round: {\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n },\n 'spinner-spin': {\n '0%, 5%, 95%, 100%': {\n boxShadow: `0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em`\n },\n '10%, 59%': {\n boxShadow: `0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em`\n },\n '20%': {\n boxShadow: `0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em`\n },\n '38%': {\n boxShadow: `0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em`\n }\n }\n },\n screens: {\n '2xl': '1400px'\n }\n },\n extend.theme\n )\n }\n };\n};\n\nexport = config;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/tailwind/config.cts"],"sourcesContent":["import type { Config } from 'tailwindcss';\nimport type { CustomThemeConfig, PluginsConfig } from 'tailwindcss/types/config';\n\nimport fs = require('node:fs');\nimport path = require('node:path');\n\nimport animate = require('tailwindcss-animate');\nimport containerQueries = require('@tailwindcss/container-queries');\nimport plugin = require('tailwindcss/plugin');\nimport _ = require('lodash-es');\n\nconst packageRoot = path.dirname(require.resolve('@douglasneuroinformatics/libui/package.json'));\n\nconst isDev = fs.existsSync(path.resolve(packageRoot, 'src'));\n\ntype ConfigOptions = {\n content?: string[];\n include?: string[];\n includeOwnContent?: boolean;\n plugins?: PluginsConfig;\n root?: string;\n extend?: {\n theme?: Partial<CustomThemeConfig> | Partial<CustomThemeConfig>[];\n };\n};\n\nconst config = ({\n content = [],\n include = [],\n includeOwnContent = true,\n root = undefined,\n plugins = [],\n extend = {}\n}: ConfigOptions = {}): Config => {\n if (includeOwnContent) {\n if (isDev) {\n content.push(path.resolve(packageRoot, 'src/**/*.{js,jsx,ts,tsx}'));\n } else {\n content.push(path.resolve(packageRoot, 'dist/**/*.js'));\n }\n }\n\n for (const id of include) {\n const baseDir = path.dirname(require.resolve(`${id}/package.json`, { paths: root ? [root] : undefined }));\n content.push(path.resolve(baseDir, 'src/**/*.{js,ts,jsx,tsx}'));\n }\n\n let userTheme: Partial<CustomThemeConfig>[];\n if (Array.isArray(extend.theme)) {\n userTheme = extend.theme;\n } else if (_.isPlainObject(extend.theme)) {\n userTheme = [extend.theme!];\n } else {\n userTheme = [];\n }\n\n return {\n content,\n darkMode: ['class', '[data-mode=\"dark\"]'],\n plugins: [\n animate,\n containerQueries,\n plugin((api) => {\n api.addUtilities({\n '.scrollbar-none': {\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none'\n }\n });\n }),\n ...plugins\n ],\n theme: {\n container: {\n center: true,\n padding: {\n DEFAULT: '1rem',\n md: '2rem',\n xl: '3rem'\n }\n },\n extend: _.merge(\n {\n animation: {\n 'accordion-down': 'accordion-down 0.2s ease-out',\n 'accordion-up': 'accordion-up 0.2s ease-out',\n spinner: 'spinner-spin 1.7s infinite ease, round 1.7s infinite ease'\n },\n borderRadius: {\n lg: `var(--radius)`,\n md: `calc(var(--radius) - 2px)`,\n sm: 'calc(var(--radius) - 4px)'\n },\n colors: {\n accent: {\n DEFAULT: 'var(--accent)',\n foreground: 'var(--accent-foreground)'\n },\n background: 'var(--background)',\n border: 'var(--border)',\n card: {\n DEFAULT: 'var(--card)',\n foreground: 'var(--card-foreground)'\n },\n destructive: {\n DEFAULT: 'var(--destructive)',\n foreground: 'var(--destructive-foreground)'\n },\n foreground: 'var(--foreground)',\n input: 'var(--input)',\n muted: {\n DEFAULT: 'var(--muted)',\n foreground: 'var(--muted-foreground)'\n },\n popover: {\n DEFAULT: 'var(--popover)',\n foreground: 'var(--popover-foreground)'\n },\n primary: {\n DEFAULT: 'var(--primary)',\n foreground: 'var(--primary-foreground)'\n },\n ring: 'var(--ring)',\n secondary: {\n DEFAULT: 'var(--secondary)',\n foreground: 'var(--secondary-foreground)'\n }\n },\n keyframes: {\n 'accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' }\n },\n 'accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' }\n },\n round: {\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n },\n 'spinner-spin': {\n '0%, 5%, 95%, 100%': {\n boxShadow: `0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em`\n },\n '10%, 59%': {\n boxShadow: `0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em`\n },\n '20%': {\n boxShadow: `0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em`\n },\n '38%': {\n boxShadow: `0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em`\n }\n }\n },\n screens: {\n '2xl': '1400px'\n }\n },\n ...userTheme\n ) as Partial<CustomThemeConfig>\n }\n };\n};\n\nexport = config;\n"],"mappings":"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","names":[]}
@@ -4,12 +4,13 @@ import { PluginsConfig, CustomThemeConfig } from 'tailwindcss/types/config';
4
4
  type ConfigOptions = {
5
5
  content?: string[];
6
6
  include?: string[];
7
+ includeOwnContent?: boolean;
7
8
  plugins?: PluginsConfig;
8
9
  root?: string;
9
10
  extend?: {
10
- theme?: Partial<CustomThemeConfig>;
11
+ theme?: Partial<CustomThemeConfig> | Partial<CustomThemeConfig>[];
11
12
  };
12
13
  };
13
- declare const config: ({ content, include, root, plugins, extend }?: ConfigOptions) => Config;
14
+ declare const config: ({ content, include, includeOwnContent, root, plugins, extend }?: ConfigOptions) => Config;
14
15
 
15
16
  export = config;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@douglasneuroinformatics/libui",
3
3
  "type": "module",
4
- "version": "3.7.0",
4
+ "version": "3.7.2",
5
5
  "packageManager": "pnpm@9.12.1",
6
6
  "description": "Generic UI components for DNP projects, built using React and Tailwind CSS",
7
7
  "author": "Joshua Unrau",
@@ -16,24 +16,28 @@ const isDev = fs.existsSync(path.resolve(packageRoot, 'src'));
16
16
  type ConfigOptions = {
17
17
  content?: string[];
18
18
  include?: string[];
19
+ includeOwnContent?: boolean;
19
20
  plugins?: PluginsConfig;
20
21
  root?: string;
21
22
  extend?: {
22
- theme?: Partial<CustomThemeConfig>;
23
+ theme?: Partial<CustomThemeConfig> | Partial<CustomThemeConfig>[];
23
24
  };
24
25
  };
25
26
 
26
27
  const config = ({
27
28
  content = [],
28
29
  include = [],
30
+ includeOwnContent = true,
29
31
  root = undefined,
30
32
  plugins = [],
31
33
  extend = {}
32
34
  }: ConfigOptions = {}): Config => {
33
- if (isDev) {
34
- content.push(path.resolve(packageRoot, 'src/**/*.{js,jsx,ts,tsx}'));
35
- } else {
36
- content.push(path.resolve(packageRoot, 'dist/**/*.js'));
35
+ if (includeOwnContent) {
36
+ if (isDev) {
37
+ content.push(path.resolve(packageRoot, 'src/**/*.{js,jsx,ts,tsx}'));
38
+ } else {
39
+ content.push(path.resolve(packageRoot, 'dist/**/*.js'));
40
+ }
37
41
  }
38
42
 
39
43
  for (const id of include) {
@@ -41,6 +45,15 @@ const config = ({
41
45
  content.push(path.resolve(baseDir, 'src/**/*.{js,ts,jsx,tsx}'));
42
46
  }
43
47
 
48
+ let userTheme: Partial<CustomThemeConfig>[];
49
+ if (Array.isArray(extend.theme)) {
50
+ userTheme = extend.theme;
51
+ } else if (_.isPlainObject(extend.theme)) {
52
+ userTheme = [extend.theme!];
53
+ } else {
54
+ userTheme = [];
55
+ }
56
+
44
57
  return {
45
58
  content,
46
59
  darkMode: ['class', '[data-mode="dark"]'],
@@ -152,8 +165,8 @@ const config = ({
152
165
  '2xl': '1400px'
153
166
  }
154
167
  },
155
- extend.theme
156
- )
168
+ ...userTheme
169
+ ) as Partial<CustomThemeConfig>
157
170
  }
158
171
  };
159
172
  };