daisyui 1.25.4 → 2.0.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.
package/index.js CHANGED
@@ -1,178 +1,227 @@
1
- const daisyuiInfo = require('./package.json')
2
- const colors = require('./colors/index')
3
- const utilities = require('./dist/utilities')
4
- const base = require('./dist/base')
5
- const unstyled = require('./dist/unstyled')
6
- const unstyledRtl = require('./dist/unstyled.rtl')
7
- const styled = require('./dist/styled')
8
- const styledRtl = require('./dist/styled.rtl')
9
- const utilitiesUnstyled = require('./dist/utilities-unstyled')
10
- const utilitiesStyled = require('./dist/utilities-styled')
11
- const themes = require('./colors/themes')
12
- const colorNames = require('./colors/colorNames')
13
- const hex2hsl = require('./colors/hex2hsl')
1
+ const daisyuiInfo = require("./package.json");
2
+ const colors = require("./colors/index");
3
+ const utilities = require("./dist/utilities");
4
+ const base = require("./dist/base");
5
+ const unstyled = require("./dist/unstyled");
6
+ const unstyledRtl = require("./dist/unstyled.rtl");
7
+ const styled = require("./dist/styled");
8
+ const styledRtl = require("./dist/styled.rtl");
9
+ const utilitiesUnstyled = require("./dist/utilities-unstyled");
10
+ const utilitiesStyled = require("./dist/utilities-styled");
11
+ const themes = require("./colors/themes");
12
+ const colorNames = require("./colors/colorNames");
13
+ const Color = require("color");
14
14
 
15
15
  const mainFunction = ({ addBase, addComponents, addUtilities, config }) => {
16
- let diasyuiIncludedItems = []
17
- let logs = false
18
- if (config('daisyui.logs') != false) {
19
- logs = true
16
+ let diasyuiIncludedItems = [];
17
+ let logs = false;
18
+ if (config("daisyui.logs") != false) {
19
+ logs = true;
20
20
  }
21
21
  if (logs) {
22
- console.log()
23
- console.log('\x1b[35m%s\x1b[0m', '🌼 daisyUI components ' + daisyuiInfo.version, '\x1b[0m', daisyuiInfo.homepage)
24
- console.group()
22
+ console.log();
23
+ console.log(
24
+ "\x1b[35m%s\x1b[0m",
25
+ "🌼 daisyUI components " + daisyuiInfo.version,
26
+ "\x1b[0m",
27
+ daisyuiInfo.homepage
28
+ );
29
+ console.group();
25
30
  }
26
31
 
27
- // inject @base style
28
- if (config('daisyui.base') != false) {
29
- addBase(base)
30
- diasyuiIncludedItems.push('base')
32
+ // inject @base style
33
+ if (config("daisyui.base") != false) {
34
+ addBase(base);
35
+ diasyuiIncludedItems.push("base");
31
36
  }
32
37
 
33
38
  // inject components
34
39
  // because rollupjs doesn't supprt dynamic require
35
- let file = styled
36
- if (config('daisyui.styled') == false && config('daisyui.rtl') != true) {
37
- diasyuiIncludedItems.push('unstyled components')
38
- file = unstyled
39
- } else if (config('daisyui.styled') == false && config('daisyui.rtl') == true) {
40
- diasyuiIncludedItems.push('unstyled components')
41
- console.log('\x1b[36m%s\x1b[0m', ' Direction:', '\x1b[0m', 'RTL');
42
- file = unstyledRtl
43
- } else if (config('daisyui.styled') != false && config('daisyui.rtl') != true) {
44
- diasyuiIncludedItems.push('components')
45
- file = styled
46
- } else if (config('daisyui.styled') !== false && config('daisyui.rtl') == true) {
47
- diasyuiIncludedItems.push('components')
48
- console.log('\x1b[36m%s\x1b[0m', ' Direction:', '\x1b[0m', 'RTL');
49
- file = styledRtl
40
+ let file = styled;
41
+ if (config("daisyui.styled") == false && config("daisyui.rtl") != true) {
42
+ diasyuiIncludedItems.push("unstyled components");
43
+ file = unstyled;
44
+ } else if (
45
+ config("daisyui.styled") == false &&
46
+ config("daisyui.rtl") == true
47
+ ) {
48
+ diasyuiIncludedItems.push("unstyled components");
49
+ console.log("\x1b[36m%s\x1b[0m", " Direction:", "\x1b[0m", "RTL");
50
+ file = unstyledRtl;
51
+ } else if (
52
+ config("daisyui.styled") != false &&
53
+ config("daisyui.rtl") != true
54
+ ) {
55
+ diasyuiIncludedItems.push("components");
56
+ file = styled;
57
+ } else if (
58
+ config("daisyui.styled") !== false &&
59
+ config("daisyui.rtl") == true
60
+ ) {
61
+ diasyuiIncludedItems.push("components");
62
+ console.log("\x1b[36m%s\x1b[0m", " Direction:", "\x1b[0m", "RTL");
63
+ file = styledRtl;
50
64
  }
51
- addComponents(file)
65
+ addComponents(file);
52
66
 
53
- let includedThemesObj = new Object()
67
+ let includedThemesObj = new Object();
54
68
 
55
69
  function convertThemeColorsToHsl(input) {
56
- let resultObj = {}
57
- if (typeof input === 'object' && input !== null) {
70
+ let resultObj = {};
71
+ if (typeof input === "object" && input !== null) {
58
72
  Object.entries(input).forEach(([rule, value]) => {
59
- if(colorNames.hasOwnProperty(rule)){
60
- resultObj[colorNames[rule]] = hex2hsl(value)
61
- }else{
62
- resultObj[rule] = value
73
+ if (colorNames.hasOwnProperty(rule)) {
74
+ const hslArray = Color(value).hsl().round().array();
75
+ resultObj[colorNames[rule]] =
76
+ hslArray[0] + " " + hslArray[1] + "%" + " " + hslArray[2] + "%";
77
+ } else {
78
+ resultObj[rule] = value;
63
79
  // console.log(input)
64
80
  }
65
- })
66
- return resultObj
81
+ });
82
+ return resultObj;
67
83
  }
68
- return input
84
+ return input;
69
85
  }
70
86
 
71
87
  // add light themes
72
- if (config('daisyui.themes') == false) {
88
+ if (config("daisyui.themes") == false) {
73
89
  Object.entries(themes).forEach(([theme, index]) => {
74
- includedThemesObj[theme] = convertThemeColorsToHsl(themes[theme])
90
+ includedThemesObj[theme] = convertThemeColorsToHsl(themes[theme]);
75
91
  });
76
92
  }
77
93
 
78
94
  // add default themes
79
- if (config('daisyui.themes') != false) {
95
+ if (config("daisyui.themes") != false) {
80
96
  Object.entries(themes).forEach(([theme, index]) => {
81
- includedThemesObj[theme] = convertThemeColorsToHsl(themes[theme])
97
+ includedThemesObj[theme] = convertThemeColorsToHsl(themes[theme]);
82
98
  });
83
99
  }
84
100
 
85
101
  // add custom themes
86
- if(Array.isArray(config('daisyui.themes'))){
87
- config('daisyui.themes').forEach((item, index) => {
88
- if(typeof item === 'object' && item !== null){
102
+ if (Array.isArray(config("daisyui.themes"))) {
103
+ config("daisyui.themes").forEach((item, index) => {
104
+ if (typeof item === "object" && item !== null) {
89
105
  Object.entries(item).forEach(([customThemeName, customThemevalue]) => {
90
- includedThemesObj['[data-theme='+customThemeName+']'] = convertThemeColorsToHsl(customThemevalue)
91
- })
106
+ includedThemesObj["[data-theme=" + customThemeName + "]"] =
107
+ convertThemeColorsToHsl(customThemevalue);
108
+ });
92
109
  }
93
- })
110
+ });
94
111
  }
95
112
 
96
- let themeOrder = []
97
- if (Array.isArray( config('daisyui.themes') )) {
98
- config('daisyui.themes').forEach((theme, index) => {
99
- if (typeof theme === 'object' && theme !== null){
113
+ let themeOrder = [];
114
+ if (Array.isArray(config("daisyui.themes"))) {
115
+ config("daisyui.themes").forEach((theme, index) => {
116
+ if (typeof theme === "object" && theme !== null) {
100
117
  Object.entries(theme).forEach(([customThemeName, customThemevalue]) => {
101
- themeOrder.push(customThemeName)
102
- })
103
- }else if(includedThemesObj.hasOwnProperty('[data-theme='+theme+']')){
104
- themeOrder.push(theme)
118
+ themeOrder.push(customThemeName);
119
+ });
120
+ } else if (
121
+ includedThemesObj.hasOwnProperty("[data-theme=" + theme + "]")
122
+ ) {
123
+ themeOrder.push(theme);
105
124
  }
106
- })
107
- }else if (config('daisyui.themes') != false) {
108
- themeOrder= ['light','dark','cupcake','bumblebee','emerald','corporate','synthwave','retro','cyberpunk','valentine','halloween','garden','forest','aqua','lofi','pastel','fantasy','wireframe','black','luxury','dracula','cmyk',]
109
- }else if (config('daisyui.themes') == false) {
110
- themeOrder.push('light')
125
+ });
126
+ } else if (config("daisyui.themes") != false) {
127
+ themeOrder = [
128
+ "light",
129
+ "dark",
130
+ "cupcake",
131
+ "bumblebee",
132
+ "emerald",
133
+ "corporate",
134
+ "synthwave",
135
+ "retro",
136
+ "cyberpunk",
137
+ "valentine",
138
+ "halloween",
139
+ "garden",
140
+ "forest",
141
+ "aqua",
142
+ "lofi",
143
+ "pastel",
144
+ "fantasy",
145
+ "wireframe",
146
+ "black",
147
+ "luxury",
148
+ "dracula",
149
+ "cmyk",
150
+ ];
151
+ } else if (config("daisyui.themes") == false) {
152
+ themeOrder.push("light");
111
153
  }
112
154
 
113
155
  // inject themes in order
114
156
  themeOrder.forEach((themeName, index) => {
115
- if (index === 0) { // first theme as root
116
- addBase({[':root']: includedThemesObj['[data-theme='+themeName+']']})
117
- }else if (index === 1) {
157
+ if (index === 0) {
158
+ // first theme as root
159
+ addBase({
160
+ [":root"]: includedThemesObj["[data-theme=" + themeName + "]"],
161
+ });
162
+ } else if (index === 1) {
118
163
  // auto dark
119
- if (themeOrder[0] != 'dark' && themeOrder.includes('dark')){
120
- addBase({['@media (prefers-color-scheme: dark)']: {[':root']: includedThemesObj['[data-theme=dark]']}})
164
+ if (config("daisyui.darkTheme")) {
165
+ if (
166
+ themeOrder[0] != config("daisyui.darkTheme") &&
167
+ themeOrder.includes(config("daisyui.darkTheme"))
168
+ ) {
169
+ addBase({
170
+ ["@media (prefers-color-scheme: dark)"]: {
171
+ [":root"]:
172
+ includedThemesObj[
173
+ `[data-theme=${config("daisyui.darkTheme")}]`
174
+ ],
175
+ },
176
+ });
177
+ }
178
+ } else {
179
+ if (themeOrder[0] != "dark" && themeOrder.includes("dark")) {
180
+ addBase({
181
+ ["@media (prefers-color-scheme: dark)"]: {
182
+ [":root"]: includedThemesObj["[data-theme=dark]"],
183
+ },
184
+ });
185
+ }
121
186
  }
122
187
  // theme 0 with name
123
- addBase({['[data-theme='+themeOrder[0]+']']: includedThemesObj['[data-theme='+themeOrder[0]+']']})
188
+ addBase({
189
+ ["[data-theme=" + themeOrder[0] + "]"]:
190
+ includedThemesObj["[data-theme=" + themeOrder[0] + "]"],
191
+ });
124
192
  // theme 1 with name
125
- addBase({['[data-theme='+themeOrder[1]+']']: includedThemesObj['[data-theme='+themeOrder[1]+']']})
126
- }else{
127
- addBase({['[data-theme='+themeName+']']: includedThemesObj['[data-theme='+themeName+']']})
193
+ addBase({
194
+ ["[data-theme=" + themeOrder[1] + "]"]:
195
+ includedThemesObj["[data-theme=" + themeOrder[1] + "]"],
196
+ });
197
+ } else {
198
+ addBase({
199
+ ["[data-theme=" + themeName + "]"]:
200
+ includedThemesObj["[data-theme=" + themeName + "]"],
201
+ });
128
202
  }
129
- })
130
- diasyuiIncludedItems.push('themes[' + themeOrder.length + ']')
131
-
203
+ });
204
+ diasyuiIncludedItems.push("themes[" + themeOrder.length + "]");
132
205
 
133
206
  // inject @utilities style needed by components
134
- if (config('daisyui.utils') != false) {
135
- addComponents(utilities, { variants: ['responsive'] })
136
- addComponents(utilitiesUnstyled, { variants: ['responsive'] })
137
- addComponents(utilitiesStyled, { variants: ['responsive'] })
138
- diasyuiIncludedItems.push('utilities')
207
+ if (config("daisyui.utils") != false) {
208
+ addComponents(utilities, { variants: ["responsive"] });
209
+ addComponents(utilitiesUnstyled, { variants: ["responsive"] });
210
+ addComponents(utilitiesStyled, { variants: ["responsive"] });
211
+ diasyuiIncludedItems.push("utilities");
139
212
  }
140
213
  if (logs) {
141
- console.log('\x1b[32m%s\x1b[0m', '✔︎ Including:', '\x1b[0m', '' + diasyuiIncludedItems.join(', '));
142
- if (isTailwindInstalled === false) {
143
- console.log(`\n\x1b[33;1m! warning\x1b[0m - unable to require \x1b[36mtailwindcss/plugin\x1b[0m
144
- daisyUI color are now only available for daisyUI components.
145
- If you want to use daisyUI color as utility classes (like 'bg-primary')
146
- you need to add this to your \x1b[34mtailwind.config.js\x1b[0m file:
147
- ───────────────────────────────────────
148
- \x1b[34mmodule.exports = {
149
- \x1b[32mtheme: {
150
- extend: {
151
- colors: require('daisyui/colors'),
152
- },
153
- },\x1b[0m
154
- \x1b[34m}\x1b[0m
155
- ───────────────────────────────────────
156
- `)
157
- }
158
- console.log()
159
- console.groupEnd()
214
+ console.log(
215
+ "\x1b[32m%s\x1b[0m",
216
+ "✔︎ Including:",
217
+ "\x1b[0m",
218
+ "" + diasyuiIncludedItems.join(", ")
219
+ );
220
+ console.log();
221
+ console.groupEnd();
160
222
  }
161
- }
162
-
163
- // check if tailwindcss package exists
164
- let isTailwindInstalled = false;
165
- try {
166
- require.resolve('tailwindcss/plugin')
167
- isTailwindInstalled = true
168
- } catch (er) {
169
- isTailwindInstalled = false
170
- }
171
- if (isTailwindInstalled !== false) {
172
- module.exports = require("tailwindcss/plugin")(
173
- mainFunction, { theme: { extend: { colors } } }
174
- );
175
- } else {
176
- module.exports = mainFunction;
177
- }
223
+ };
178
224
 
225
+ module.exports = require("tailwindcss/plugin")(mainFunction, {
226
+ theme: { extend: { colors } },
227
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daisyui",
3
- "version": "1.25.4",
3
+ "version": "2.0.0",
4
4
  "description": "daisyUI - Tailwind CSS Components",
5
5
  "author": "Pouya Saadeghi",
6
6
  "license": "MIT",
@@ -35,6 +35,9 @@
35
35
  "index.js",
36
36
  "colors"
37
37
  ],
38
+ "browserslist": [
39
+ "> 7%"
40
+ ],
38
41
  "publishConfig": {
39
42
  "access": "public",
40
43
  "branches": [
@@ -49,8 +52,7 @@
49
52
  "postcss-import": "13.0.0",
50
53
  "postcss-nested": "5.0.1",
51
54
  "prejss-cli": "0.3.3",
52
- "rtlcss": "3.0.0",
53
- "tailwindcss": "2.0.1"
55
+ "rtlcss": "3.0.0"
54
56
  },
55
57
  "scripts": {
56
58
  "index": "cp -R ./src/index.js ./index.js",
@@ -80,5 +82,9 @@
80
82
  "dev": "cd src/docs && npm run dev",
81
83
  "add": "touch src/components/unstyled/$npm_config_name.css && touch src/components/styled/$npm_config_name.css",
82
84
  "postadd": "open src/components/unstyled/$npm_config_name.css && open src/components/styled/$npm_config_name.css"
85
+ },
86
+ "dependencies": {
87
+ "color": "^4.2",
88
+ "tailwindcss": "^3.0"
83
89
  }
84
- }
90
+ }