@brightspot/ui 1.0.1-wc.4 → 1.1.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 (73) hide show
  1. package/README.md +4 -0
  2. package/dist/components/avatar/Avatar.d.ts +82 -0
  3. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  4. package/dist/components/avatar/Avatar.js +162 -0
  5. package/dist/components/avatar/Avatar.js.map +1 -0
  6. package/dist/components/avatar/AvatarGroup.d.ts +70 -0
  7. package/dist/components/avatar/AvatarGroup.d.ts.map +1 -0
  8. package/dist/components/avatar/AvatarGroup.js +145 -0
  9. package/dist/components/avatar/AvatarGroup.js.map +1 -0
  10. package/dist/components/badge/Badge.d.ts +75 -0
  11. package/dist/components/badge/Badge.d.ts.map +1 -0
  12. package/dist/components/badge/Badge.js +118 -0
  13. package/dist/components/badge/Badge.js.map +1 -0
  14. package/dist/custom-elements.json +437 -0
  15. package/dist/storybook/assets/Avatar.stories-BONZm4v8.js +209 -0
  16. package/dist/storybook/assets/AvatarGroup.stories-DDKujPh2.js +211 -0
  17. package/dist/storybook/assets/Badge.stories-C8Ahfpp6.js +134 -0
  18. package/dist/storybook/assets/{Button.stories-BH3fEuOH.js → Button.stories-Cwdvbnu1.js} +1 -1
  19. package/dist/storybook/assets/{Color-64QXVMR3-BV_8WWIP.js → Color-64QXVMR3-CqLd5_0n.js} +1 -1
  20. package/dist/storybook/assets/{Colors.stories-CcpJ2Txp.js → Colors.stories-BajWDIwn.js} +1 -1
  21. package/dist/storybook/assets/Events.stories-B32yjxgf.js +108 -0
  22. package/dist/storybook/assets/{Heading.stories-cqZamo-6.js → Heading.stories-C0ji1wRG.js} +1 -1
  23. package/dist/storybook/assets/{Icon.stories-uPhO3RBG.js → Icon.stories-DeEHMd7f.js} +1 -1
  24. package/dist/storybook/assets/{Loader.stories-D7Bl-LN9.js → Loader.stories-NxZ0SGA0.js} +1 -1
  25. package/dist/storybook/assets/ReadyMixin.stories-DavcxbQ0.js +55 -0
  26. package/dist/storybook/assets/{ScrollShadow.stories-CWKYDYLk.js → ScrollShadow.stories-1W8nsrPe.js} +1 -1
  27. package/dist/storybook/assets/{WithTooltip-SK46ZJ2J-DyavE1Bj.js → WithTooltip-SK46ZJ2J-BO-IGPcG.js} +5 -5
  28. package/dist/storybook/assets/formatter-OMEEQ6HG-wqmAyL2n.js +1 -0
  29. package/dist/storybook/assets/iframe-BEH5EoNR.css +1 -0
  30. package/dist/storybook/assets/{iframe-mIh0R_Av.js → iframe-BIFmrRK7.js} +152 -125
  31. package/dist/storybook/assets/{index-C8IjQgz6.js → index-B4dkQq9N.js} +1 -1
  32. package/dist/storybook/assets/{syntaxhighlighter-CAVLW7PM-36bUIV4n.js → syntaxhighlighter-CAVLW7PM-kyZrfiLk.js} +1 -1
  33. package/dist/storybook/iframe.html +2 -2
  34. package/dist/storybook/index.json +1 -1
  35. package/dist/storybook/project.json +1 -1
  36. package/dist/tailwind-plugin-avatar.d.ts +2 -0
  37. package/dist/tailwind-plugin-avatar.d.ts.map +1 -0
  38. package/dist/tailwind-plugin-avatar.js +130 -0
  39. package/dist/tailwind-plugin-avatar.js.map +1 -0
  40. package/dist/tailwind-plugin-avatar.ts +181 -0
  41. package/dist/tailwind-plugin-badge.js +24 -9
  42. package/dist/tailwind-plugin-badge.js.map +1 -1
  43. package/dist/tailwind-plugin-badge.ts +30 -11
  44. package/dist/tailwind-plugin-button.js +3 -6
  45. package/dist/tailwind-plugin-button.js.map +1 -1
  46. package/dist/tailwind-plugin-button.ts +3 -7
  47. package/dist/tailwind.config.js +2 -2
  48. package/dist/tailwind.config.js.map +1 -1
  49. package/dist/tailwind.config.ts +2 -2
  50. package/dist/utils/EventEmitterMixin.d.ts +19 -16
  51. package/dist/utils/EventEmitterMixin.d.ts.map +1 -1
  52. package/dist/utils/EventEmitterMixin.js +7 -7
  53. package/dist/utils/EventEmitterMixin.js.map +1 -1
  54. package/dist/utils/ReadyMixin.d.ts +31 -0
  55. package/dist/utils/ReadyMixin.d.ts.map +1 -0
  56. package/dist/utils/ReadyMixin.js +42 -0
  57. package/dist/utils/ReadyMixin.js.map +1 -0
  58. package/package.json +7 -6
  59. package/custom-elements.json +0 -214
  60. package/dist/components/widget/Widget.css +0 -118
  61. package/dist/components/widget/Widget.d.ts +0 -90
  62. package/dist/components/widget/Widget.d.ts.map +0 -1
  63. package/dist/components/widget/Widget.js +0 -196
  64. package/dist/components/widget/Widget.js.map +0 -1
  65. package/dist/components/widget/WidgetUtils.d.ts +0 -14
  66. package/dist/components/widget/WidgetUtils.d.ts.map +0 -1
  67. package/dist/components/widget/WidgetUtils.js +0 -42
  68. package/dist/components/widget/WidgetUtils.js.map +0 -1
  69. package/dist/storybook/assets/Badge.stories-cKvztBhm.js +0 -43
  70. package/dist/storybook/assets/Widget-CRTwFkFc.css +0 -1
  71. package/dist/storybook/assets/Widget.stories-CcjywoYR.js +0 -300
  72. package/dist/storybook/assets/formatter-OMEEQ6HG-DBJ97XaR.js +0 -1
  73. package/dist/storybook/assets/iframe-BdHEYpHD.css +0 -1
@@ -0,0 +1,130 @@
1
+ import plugin from 'tailwindcss/plugin';
2
+ const className = '.btu-avatar';
3
+ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
4
+ const avatarSizes = theme('avatar.size');
5
+ const fontSizes = theme('fontSize');
6
+ // Custom color utilities for avatar background and ring
7
+ matchUtilities({
8
+ 'btu-avatar-background': value => ({
9
+ '--avatar-bg-color': value,
10
+ }),
11
+ }, { values: theme('colors'), type: ['color', 'any'] });
12
+ matchUtilities({
13
+ 'btu-avatar-ring': value => ({
14
+ '--avatar-ring-color': value,
15
+ }),
16
+ }, { values: theme('colors'), type: ['color', 'any'] });
17
+ // Base avatar styles
18
+ addComponents({
19
+ [className]: {
20
+ '--avatar-bg-color': 'oklch(var(--btu-theme-purple-600))',
21
+ '--avatar-ring-width': '0px',
22
+ display: 'grid',
23
+ placeContent: 'center',
24
+ alignItems: 'center',
25
+ width: 'var(--avatar-size)',
26
+ height: 'var(--avatar-size)',
27
+ borderRadius: 'var(--avatar-corner-rounding, 9999px)',
28
+ backgroundColor: 'var(--avatar-bg-color)',
29
+ textAlign: 'center',
30
+ fontWeight: '500',
31
+ textTransform: 'uppercase',
32
+ color: 'white',
33
+ position: 'relative',
34
+ flexShrink: '0',
35
+ userSelect: 'none',
36
+ // Grid stacking
37
+ '& > *': {
38
+ gridArea: '1 / 1',
39
+ },
40
+ // Hover effect - darken background
41
+ '&:hover': {
42
+ backgroundColor: 'oklch(from var(--avatar-bg-color) calc(l * 0.8) c h)',
43
+ },
44
+ // After pseudo-element for border overlay
45
+ '&::after': {
46
+ content: "''",
47
+ position: 'absolute',
48
+ inset: '0',
49
+ borderRadius: '9999px',
50
+ borderWidth: 'var(--avatar-ring-width, 0px)',
51
+ borderColor: 'var(--avatar-ring-color, transparent)',
52
+ borderStyle: 'solid',
53
+ pointerEvents: 'none',
54
+ },
55
+ // Image styles
56
+ '& img': {
57
+ aspectRatio: '1',
58
+ width: '100%',
59
+ height: '100%',
60
+ borderRadius: '9999px',
61
+ objectFit: 'cover',
62
+ },
63
+ // Hide fallback when image is loaded (prevents showing through transparent images)
64
+ '&.btu-avatar-image-loaded .btu-avatar-fallback': {
65
+ display: 'none',
66
+ },
67
+ },
68
+ // Fallback text container
69
+ [`${className}-fallback`]: {
70
+ display: 'flex',
71
+ alignItems: 'center',
72
+ justifyContent: 'center',
73
+ width: '100%',
74
+ height: '100%',
75
+ },
76
+ // Avatar group styles
77
+ [`${className}-group`]: {
78
+ display: 'flex',
79
+ alignItems: 'center',
80
+ },
81
+ // Overflow avatar ("+N" indicator)
82
+ [`${className}-group-overflow`]: {
83
+ fontWeight: '500',
84
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
85
+ color: 'oklch(var(--btu-theme-gray-500))',
86
+ '&:hover': {
87
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
88
+ },
89
+ },
90
+ });
91
+ // Size variants
92
+ if (avatarSizes && fontSizes) {
93
+ const sizeVariants = [
94
+ { size: avatarSizes.xs, fontSize: 'xs', fontWeight: 'bold' },
95
+ { size: avatarSizes.sm, fontSize: 'sm' },
96
+ { size: avatarSizes.md, fontSize: 'base' },
97
+ { size: avatarSizes.lg, fontSize: 'base' },
98
+ { size: avatarSizes.xl, fontSize: 'lg' },
99
+ { size: avatarSizes.xxl, fontSize: 'xl' },
100
+ ];
101
+ const sizeKeys = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
102
+ sizeKeys.forEach((key, index) => {
103
+ const variant = sizeVariants[index];
104
+ const fontSize = fontSizes[variant.fontSize];
105
+ if (fontSize) {
106
+ addComponents({
107
+ [`${className}-${e(key)}`]: {
108
+ '--avatar-size': variant.size,
109
+ fontSize: fontSize[0],
110
+ lineHeight: fontSize[1],
111
+ ...(variant.fontWeight && { fontWeight: variant.fontWeight === 'bold' ? '700' : '500' }),
112
+ },
113
+ });
114
+ }
115
+ });
116
+ }
117
+ // Container query variants for responsive sizing
118
+ if (avatarSizes) {
119
+ const containerVariants = {};
120
+ Object.keys(avatarSizes).forEach(size => {
121
+ containerVariants[`@container/avatar (min-width: ${avatarSizes[size]})`] = {
122
+ [`${className}-${e(size)}`]: {
123
+ '--avatar-size': avatarSizes[size],
124
+ },
125
+ };
126
+ });
127
+ addComponents(containerVariants);
128
+ }
129
+ });
130
+ //# sourceMappingURL=tailwind-plugin-avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-plugin-avatar.js","sourceRoot":"","sources":["../src/tailwind-plugin-avatar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ import plugin from 'tailwindcss/plugin'
2
+ import type { CSSRuleObject } from 'tailwindcss/types/config'
3
+ declare let module: any
4
+
5
+ /**
6
+ * Avatar component for displaying user profile images with fallback support.
7
+ *
8
+ * Class Names:
9
+ *
10
+ * btu-avatar - Base avatar styles
11
+ * btu-avatar-[xs|sm|md|lg|xl|xxl] - Size variants
12
+ * btu-avatar-fallback - Fallback text container
13
+ *
14
+ * Example Usages:
15
+ *
16
+ * <btu-avatar class="btu-avatar btu-avatar-md">
17
+ * <div class="btu-avatar-fallback">JP</div>
18
+ * <img src="..." alt="..." />
19
+ * </btu-avatar>
20
+ */
21
+
22
+ type AvatarSize = {
23
+ size: string
24
+ fontSize: 'xs' | 'sm' | 'base' | 'md' | 'lg' | 'xl'
25
+ fontWeight?: 'medium' | 'bold'
26
+ }
27
+
28
+ const className = '.btu-avatar'
29
+
30
+ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
31
+ const avatarSizes = theme('avatar.size')
32
+ const fontSizes: Record<string, CSSRuleObject> = theme('fontSize')
33
+
34
+ // Custom color utilities for avatar background and ring
35
+ matchUtilities(
36
+ {
37
+ 'btu-avatar-background': value => ({
38
+ '--avatar-bg-color': value,
39
+ }),
40
+ },
41
+ { values: theme('colors'), type: ['color', 'any'] },
42
+ )
43
+
44
+ matchUtilities(
45
+ {
46
+ 'btu-avatar-ring': value => ({
47
+ '--avatar-ring-color': value,
48
+ }),
49
+ },
50
+ { values: theme('colors'), type: ['color', 'any'] },
51
+ )
52
+
53
+ // Base avatar styles
54
+ addComponents({
55
+ [className]: {
56
+ '--avatar-bg-color': 'oklch(var(--btu-theme-purple-600))',
57
+ '--avatar-ring-width': '0px',
58
+ display: 'grid',
59
+ placeContent: 'center',
60
+ alignItems: 'center',
61
+ width: 'var(--avatar-size)',
62
+ height: 'var(--avatar-size)',
63
+ borderRadius: 'var(--avatar-corner-rounding, 9999px)',
64
+ backgroundColor: 'var(--avatar-bg-color)',
65
+ textAlign: 'center',
66
+ fontWeight: '500',
67
+ textTransform: 'uppercase',
68
+ color: 'white',
69
+ position: 'relative',
70
+ flexShrink: '0',
71
+ userSelect: 'none',
72
+
73
+ // Grid stacking
74
+ '& > *': {
75
+ gridArea: '1 / 1',
76
+ },
77
+
78
+ // Hover effect - darken background
79
+ '&:hover': {
80
+ backgroundColor: 'oklch(from var(--avatar-bg-color) calc(l * 0.8) c h)',
81
+ },
82
+
83
+ // After pseudo-element for border overlay
84
+ '&::after': {
85
+ content: "''",
86
+ position: 'absolute',
87
+ inset: '0',
88
+ borderRadius: '9999px',
89
+ borderWidth: 'var(--avatar-ring-width, 0px)',
90
+ borderColor: 'var(--avatar-ring-color, transparent)',
91
+ borderStyle: 'solid',
92
+ pointerEvents: 'none',
93
+ },
94
+
95
+ // Image styles
96
+ '& img': {
97
+ aspectRatio: '1',
98
+ width: '100%',
99
+ height: '100%',
100
+ borderRadius: '9999px',
101
+ objectFit: 'cover',
102
+ },
103
+
104
+ // Hide fallback when image is loaded (prevents showing through transparent images)
105
+ '&.btu-avatar-image-loaded .btu-avatar-fallback': {
106
+ display: 'none',
107
+ },
108
+ },
109
+
110
+ // Fallback text container
111
+ [`${className}-fallback`]: {
112
+ display: 'flex',
113
+ alignItems: 'center',
114
+ justifyContent: 'center',
115
+ width: '100%',
116
+ height: '100%',
117
+ },
118
+
119
+ // Avatar group styles
120
+ [`${className}-group`]: {
121
+ display: 'flex',
122
+ alignItems: 'center',
123
+ },
124
+
125
+ // Overflow avatar ("+N" indicator)
126
+ [`${className}-group-overflow`]: {
127
+ fontWeight: '500',
128
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
129
+ color: 'oklch(var(--btu-theme-gray-500))',
130
+
131
+ '&:hover': {
132
+ backgroundColor: 'oklch(var(--btu-theme-gray-100))',
133
+ },
134
+ },
135
+ })
136
+
137
+ // Size variants
138
+ if (avatarSizes && fontSizes) {
139
+ const sizeVariants: AvatarSize[] = [
140
+ { size: avatarSizes.xs, fontSize: 'xs', fontWeight: 'bold' },
141
+ { size: avatarSizes.sm, fontSize: 'sm' },
142
+ { size: avatarSizes.md, fontSize: 'base' },
143
+ { size: avatarSizes.lg, fontSize: 'base' },
144
+ { size: avatarSizes.xl, fontSize: 'lg' },
145
+ { size: avatarSizes.xxl, fontSize: 'xl' },
146
+ ]
147
+
148
+ const sizeKeys = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl']
149
+
150
+ sizeKeys.forEach((key, index) => {
151
+ const variant = sizeVariants[index]
152
+ const fontSize = fontSizes[variant.fontSize]
153
+
154
+ if (fontSize) {
155
+ addComponents({
156
+ [`${className}-${e(key)}`]: {
157
+ '--avatar-size': variant.size,
158
+ fontSize: fontSize[0],
159
+ lineHeight: fontSize[1],
160
+ ...(variant.fontWeight && { fontWeight: variant.fontWeight === 'bold' ? '700' : '500' }),
161
+ },
162
+ })
163
+ }
164
+ })
165
+ }
166
+
167
+ // Container query variants for responsive sizing
168
+ if (avatarSizes) {
169
+ const containerVariants: CSSRuleObject = {}
170
+
171
+ Object.keys(avatarSizes).forEach(size => {
172
+ containerVariants[`@container/avatar (min-width: ${avatarSizes[size]})`] = {
173
+ [`${className}-${e(size)}`]: {
174
+ '--avatar-size': avatarSizes[size],
175
+ },
176
+ }
177
+ })
178
+
179
+ addComponents(containerVariants)
180
+ }
181
+ })
@@ -1,6 +1,6 @@
1
1
  import plugin from 'tailwindcss/plugin';
2
2
  const className = '.btu-badge';
3
- module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
3
+ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities, addUtilities }) {
4
4
  const sizes = theme('badgeSize');
5
5
  const colors = theme('colors');
6
6
  const fontSizes = theme('fontSize');
@@ -16,6 +16,19 @@ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
16
16
  '--badge-color-background': value,
17
17
  }),
18
18
  }, { values: theme('colors'), type: ['color', 'any'] });
19
+ addUtilities({
20
+ '.btu-badge-dot': {
21
+ '--badge-dot-size': '6px',
22
+ '&::before': {
23
+ content: "''",
24
+ display: 'inline-block',
25
+ width: 'var(--badge-dot-size)',
26
+ height: 'var(--badge-dot-size)',
27
+ backgroundColor: 'currentColor',
28
+ clipPath: 'circle(50% at center)',
29
+ },
30
+ },
31
+ }, {});
19
32
  if (colors) {
20
33
  const badgeColors = [];
21
34
  for (const key in colors) {
@@ -37,7 +50,7 @@ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
37
50
  const badgeSizes = [];
38
51
  const fontSizeStyles = {
39
52
  display: 'inline-block',
40
- borderRadius: '1rem',
53
+ borderRadius: 'var(--badge-radius-size, 999px)',
41
54
  };
42
55
  for (const key in sizes) {
43
56
  const size = sizes[key];
@@ -45,12 +58,14 @@ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
45
58
  if (fontSize) {
46
59
  badgeSizes.push({
47
60
  [`${className}-${e(key)}`]: {
61
+ '--badge-px': size.px,
62
+ '--badge-py': size.py,
48
63
  alignItems: 'center',
49
64
  gap: '0.38rem',
50
65
  ...fontSizeStyles,
51
66
  fontSize: fontSize[0],
52
67
  lineHeight: fontSize[1],
53
- padding: `${size.paddingTop} ${size.paddingRight}`,
68
+ padding: `var(--badge-py) var(--badge-px)`,
54
69
  minWidth: size.minWidth,
55
70
  maxWidth: 'max-content',
56
71
  display: 'inline-flex',
@@ -64,21 +79,21 @@ module.exports = plugin(function ({ addComponents, theme, e, matchUtilities }) {
64
79
  theme: {
65
80
  badgeSize: {
66
81
  sm: {
82
+ px: '0.5rem',
83
+ py: '.13rem',
67
84
  fontSize: 'xs',
68
- paddingTop: '.13rem',
69
- paddingRight: '.5rem',
70
85
  minWidth: '1.375rem',
71
86
  },
72
87
  md: {
88
+ px: '0.63rem',
89
+ py: '.13rem',
73
90
  fontSize: 'sm',
74
- paddingTop: '.13rem',
75
- paddingRight: '.63rem',
76
91
  minWidth: '1.813rem',
77
92
  },
78
93
  lg: {
94
+ px: '0.75rem',
95
+ py: '.25rem',
79
96
  fontSize: 'sm',
80
- paddingTop: '.25rem',
81
- paddingRight: '.75rem',
82
97
  minWidth: '1.813rem',
83
98
  },
84
99
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-badge.js","sourceRoot":"","sources":["../src/tailwind-plugin-badge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-badge.js","sourceRoot":"","sources":["../src/tailwind-plugin-badge.ts"],"names":[],"mappings":"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"}
@@ -21,15 +21,15 @@ declare let module: any
21
21
 
22
22
  type Size = {
23
23
  fontSize: 'xs' | 'sm'
24
- paddingTop: string
25
- paddingRight: string
26
24
  minWidth: string
25
+ px: string
26
+ py: string
27
27
  }
28
28
 
29
29
  const className = '.btu-badge'
30
30
 
31
31
  module.exports = plugin(
32
- function ({ addComponents, theme, e, matchUtilities }) {
32
+ function ({ addComponents, theme, e, matchUtilities, addUtilities }) {
33
33
  const sizes = theme('badgeSize')
34
34
  const colors: [CSSRuleObject] = theme('colors')
35
35
  const fontSizes: Record<string, CSSRuleObject> = theme('fontSize')
@@ -54,6 +54,23 @@ module.exports = plugin(
54
54
  { values: theme('colors'), type: ['color', 'any'] },
55
55
  )
56
56
 
57
+ addUtilities(
58
+ {
59
+ '.btu-badge-dot': {
60
+ '--badge-dot-size': '6px',
61
+ '&::before': {
62
+ content: "''",
63
+ display: 'inline-block',
64
+ width: 'var(--badge-dot-size)',
65
+ height: 'var(--badge-dot-size)',
66
+ backgroundColor: 'currentColor',
67
+ clipPath: 'circle(50% at center)',
68
+ },
69
+ },
70
+ },
71
+ {},
72
+ )
73
+
57
74
  if (colors) {
58
75
  const badgeColors: CSSRuleObject[] = []
59
76
  for (const key in colors) {
@@ -76,7 +93,7 @@ module.exports = plugin(
76
93
  const badgeSizes: CSSRuleObject[] = []
77
94
  const fontSizeStyles = {
78
95
  display: 'inline-block',
79
- borderRadius: '1rem',
96
+ borderRadius: 'var(--badge-radius-size, 999px)',
80
97
  }
81
98
 
82
99
  for (const key in sizes) {
@@ -86,12 +103,14 @@ module.exports = plugin(
86
103
  if (fontSize) {
87
104
  badgeSizes.push({
88
105
  [`${className}-${e(key)}`]: {
106
+ '--badge-px': size.px,
107
+ '--badge-py': size.py,
89
108
  alignItems: 'center',
90
109
  gap: '0.38rem',
91
110
  ...fontSizeStyles,
92
111
  fontSize: fontSize[0],
93
112
  lineHeight: fontSize[1],
94
- padding: `${size.paddingTop} ${size.paddingRight}`,
113
+ padding: `var(--badge-py) var(--badge-px)`,
95
114
  minWidth: size.minWidth,
96
115
  maxWidth: 'max-content',
97
116
  display: 'inline-flex',
@@ -106,21 +125,21 @@ module.exports = plugin(
106
125
  theme: {
107
126
  badgeSize: {
108
127
  sm: {
128
+ px: '0.5rem',
129
+ py: '.13rem',
109
130
  fontSize: 'xs',
110
- paddingTop: '.13rem',
111
- paddingRight: '.5rem',
112
131
  minWidth: '1.375rem',
113
132
  },
114
133
  md: {
134
+ px: '0.63rem',
135
+ py: '.13rem',
115
136
  fontSize: 'sm',
116
- paddingTop: '.13rem',
117
- paddingRight: '.63rem',
118
137
  minWidth: '1.813rem',
119
138
  },
120
139
  lg: {
140
+ px: '0.75rem',
141
+ py: '.25rem',
121
142
  fontSize: 'sm',
122
- paddingTop: '.25rem',
123
- paddingRight: '.75rem',
124
143
  minWidth: '1.813rem',
125
144
  },
126
145
  },
@@ -26,7 +26,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
26
26
  const iconSizes = theme('iconSize') || {};
27
27
  const prefix = '.btu-button';
28
28
  const disabledStyle = {
29
- '--button-bg-gradient': 'none',
30
29
  '--button-disabled-color': `var(--button-disabled-color-fill-none, var(--button-disabled-color-fill, oklch(var(--btu-theme-gray-100))))`,
31
30
  '--button-disabled-text-color': `var(--button-disabled-text-color-fill-none, var(--button-text-color, oklch(var(--btu-theme-gray-400))))`,
32
31
  pointerEvents: 'none',
@@ -38,7 +37,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
38
37
  const components = {
39
38
  '.btu-button': {
40
39
  // default button
41
- '--button-bg-gradient': 'none',
42
40
  '--button-color': '',
43
41
  '--button-text-color': '',
44
42
  '--button-pressed': 'initial',
@@ -56,7 +54,7 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
56
54
  alignItems: 'center',
57
55
  justifyContent: 'center',
58
56
  gap: '0.5rem',
59
- background: 'var(--button-bg-gradient), var(--button-pressed-color, var(--button-disabled-color, var(--button-color)))',
57
+ background: 'var(--button-pressed-color, var(--button-disabled-color, var(--button-color)))',
60
58
  borderRadius: 'var(--button-border-radius, 0.5rem)',
61
59
  color: 'var(--button-pressed-text-color, var(--button-disabled-text-color, var(--button-text-color)))',
62
60
  padding: 'var(--button-padding-sm)',
@@ -119,7 +117,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
119
117
  '.btu-button-disabled': disabledStyle,
120
118
  '.btu-button-pressed': activeStyle,
121
119
  '.btu-button-ai': {
122
- '--button-bg-gradient': `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
123
120
  '--button-color': 'transparent',
124
121
  '--button-text-color': 'oklch(100% 0 0)',
125
122
  '--button-fill-none-color': 'transparent',
@@ -130,10 +127,11 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
130
127
  '--button-disabled-text-color-fill-none': 'var(--button-fill-none) oklch(var(--btu-theme-gray-300))',
131
128
  '--button-pressed-color': 'var(--button-pressed) var(--button-disabled-color, oklch(0.5346 0.3041 294.17))',
132
129
  '--button-pressed-text-color': 'var(--button-pressed) var(--button-disabled-text-color, var(--btu-theme-white))',
130
+ background: `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
133
131
  '&:hover': {
134
- '--button-bg-gradient': `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
135
132
  '--button-fill-none-color': 'oklch(0.7 0.3281 339.6 / 0.1)',
136
133
  '--button-fill-none-text-color': 'oklch(0.5346 0.3041 294.17)',
134
+ background: `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
137
135
  },
138
136
  },
139
137
  };
@@ -151,7 +149,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
151
149
  '--tw-ring-offset-color': `${key === 'gray' ? 'oklch(var(--btu-theme-primary-800))' : 'var(--button-outline-offset-color, var(--button-color))'}`,
152
150
  };
153
151
  components[prefix + '-' + key] = {
154
- '--button-bg-gradient': `var(--button-fill-none, ${key === 'primary' ? theme('backgroundImage.primary-gradient') : key === 'success' ? theme('backgroundImage.success-gradient') : 'none'})`,
155
152
  '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'success' ? '700' : '600'}))`,
156
153
  '--button-text-color': `${key === 'gray' ? 'oklch(var(--btu-theme-gray-700))' : 'var(--btu-theme-white)'}`,
157
154
  '--button-fill-none-color': 'transparent',
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-button.js","sourceRoot":"","sources":["../src/tailwind-plugin-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-button.js","sourceRoot":"","sources":["../src/tailwind-plugin-button.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
31
31
  const prefix = '.btu-button'
32
32
 
33
33
  const disabledStyle: CSSRuleObject = {
34
- '--button-bg-gradient': 'none',
35
34
  '--button-disabled-color': `var(--button-disabled-color-fill-none, var(--button-disabled-color-fill, oklch(var(--btu-theme-gray-100))))`,
36
35
  '--button-disabled-text-color': `var(--button-disabled-text-color-fill-none, var(--button-text-color, oklch(var(--btu-theme-gray-400))))`,
37
36
  pointerEvents: 'none',
@@ -45,7 +44,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
45
44
  const components: CSSRuleObject = {
46
45
  '.btu-button': {
47
46
  // default button
48
- '--button-bg-gradient': 'none',
49
47
  '--button-color': '',
50
48
  '--button-text-color': '',
51
49
  '--button-pressed': 'initial',
@@ -63,8 +61,7 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
63
61
  alignItems: 'center',
64
62
  justifyContent: 'center',
65
63
  gap: '0.5rem',
66
- background:
67
- 'var(--button-bg-gradient), var(--button-pressed-color, var(--button-disabled-color, var(--button-color)))',
64
+ background: 'var(--button-pressed-color, var(--button-disabled-color, var(--button-color)))',
68
65
  borderRadius: 'var(--button-border-radius, 0.5rem)',
69
66
  color: 'var(--button-pressed-text-color, var(--button-disabled-text-color, var(--button-text-color)))',
70
67
  padding: 'var(--button-padding-sm)',
@@ -129,7 +126,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
129
126
  '.btu-button-disabled': disabledStyle,
130
127
  '.btu-button-pressed': activeStyle,
131
128
  '.btu-button-ai': {
132
- '--button-bg-gradient': `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
133
129
  '--button-color': 'transparent',
134
130
  '--button-text-color': 'oklch(100% 0 0)',
135
131
  '--button-fill-none-color': 'transparent',
@@ -140,10 +136,11 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
140
136
  '--button-disabled-text-color-fill-none': 'var(--button-fill-none) oklch(var(--btu-theme-gray-300))',
141
137
  '--button-pressed-color': 'var(--button-pressed) var(--button-disabled-color, oklch(0.5346 0.3041 294.17))',
142
138
  '--button-pressed-text-color': 'var(--button-pressed) var(--button-disabled-text-color, var(--btu-theme-white))',
139
+ background: `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
143
140
  '&:hover': {
144
- '--button-bg-gradient': `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
145
141
  '--button-fill-none-color': 'oklch(0.7 0.3281 339.6 / 0.1)',
146
142
  '--button-fill-none-text-color': 'oklch(0.5346 0.3041 294.17)',
143
+ background: `var(--button-fill-none, ${theme('backgroundImage.ai-gradient')})`,
147
144
  },
148
145
  },
149
146
  }
@@ -161,7 +158,6 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
161
158
  '--tw-ring-offset-color': `${key === 'gray' ? 'oklch(var(--btu-theme-primary-800))' : 'var(--button-outline-offset-color, var(--button-color))'}`,
162
159
  }
163
160
  components[prefix + '-' + key] = {
164
- '--button-bg-gradient': `var(--button-fill-none, ${key === 'primary' ? theme('backgroundImage.primary-gradient') : key === 'success' ? theme('backgroundImage.success-gradient') : 'none'})`,
165
161
  '--button-color': `oklch(var(--btu-theme-${key}-${key === 'gray' ? '100' : key === 'success' ? '700' : '600'}))`,
166
162
  '--button-text-color': `${key === 'gray' ? 'oklch(var(--btu-theme-gray-700))' : 'var(--btu-theme-white)'}`,
167
163
  '--button-fill-none-color': 'transparent',
@@ -10,9 +10,9 @@ export default {
10
10
  content: [],
11
11
  safelist: [
12
12
  // BTU component classes with dynamic color, size, and numbered variants
13
- // Matches: btu-button-primary, btu-badge-lg, btu-icon-error, btu-heading-2xl, etc.
13
+ // Matches: btu-button-primary, btu-badge-lg, btu-icon-error, btu-heading-2xl, btu-avatar-md, etc.
14
14
  {
15
- pattern: /btu-.*?-(ai|black|white|primary|teal|gray|purple|rose|error|warning|success|xs|sm|md|lg|xl|2xl|1|2|3|4|5|6)/,
15
+ pattern: /btu-.*?-(ai|black|white|primary|teal|gray|purple|rose|error|warning|success|xs|sm|md|lg|xl|xxl|2xl|1|2|3|4|5|6)/,
16
16
  },
17
17
  // Padding and margin classes for all directions and values 0-8 (including decimals)
18
18
  // Matches: p-0, px-2, py-6, pt-4, pb-8, pl-1, pr-3, ps-5, pe-7, m-0, mx-2, p-1.5, mx-2.5, etc.