coveragebook_components 0.15.0 → 0.16.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.
- checksums.yaml +4 -4
- data/app/assets/build/coco/app.css +1513 -1605
- data/app/assets/build/coco/app.js +35 -27
- data/app/assets/build/coco/book.css +1212 -1303
- data/app/assets/build/coco/book.js +10 -6
- data/app/assets/build/coco/coco.css +6908 -0
- data/app/assets/build/coco/coco.js +10 -6
- data/app/assets/build/coco/tailwind.preset.js +2759 -0
- data/app/assets/css/base/setup.css +0 -11
- data/app/assets/css/base/tippy.css +40 -43
- data/app/assets/css/base/utils/text.css +0 -210
- data/app/assets/css/coco.css +3 -0
- data/app/assets/css/plugins/aspect.js +27 -0
- data/app/assets/css/plugins/colors.js +30 -0
- data/app/assets/css/plugins/icons.js +17 -0
- data/app/assets/css/plugins/layout.js +15 -0
- data/app/assets/css/plugins/text.js +183 -0
- data/app/components/coco/app/nav_drawer/nav_drawer.css +2 -2
- data/app/components/coco/app/plan_card/plan_card.css +1 -1
- data/app/components/coco/buttons/button/button.css +5 -5
- data/app/components/coco/buttons/button_group/button_group.css +1 -1
- data/app/components/coco/buttons/color_picker_button/color_picker_button.css +1 -1
- data/app/components/coco/buttons/menu/menu.css +1 -1
- data/app/components/coco/buttons/menu_items/user_profile/user_profile.css +1 -1
- data/app/components/coco/indicators/badge/badge.css +1 -1
- data/app/components/coco/layout/panel/panel.css +1 -1
- data/app/components/coco/modals/modal/modal.css +1 -1
- data/app/components/coco/modals/modal_dialog/modal_dialog.css +1 -1
- data/app/components/coco/utilities/placeholder/placeholder.css +1 -1
- data/app/helpers/coco/integration_helper.rb +25 -3
- data/config/exports.js +0 -0
- data/config/tailwind.config.js +1 -83
- data/config/tailwind.preset.js +66 -0
- data/config/tokens.js +25 -21
- data/lib/coco.rb +1 -1
- metadata +12 -5
- data/app/assets/css/base/utils/colors.css +0 -30
- data/app/assets/css/base/utils/icons.css +0 -16
- data/app/assets/css/base/utils/layout.css +0 -13
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
/* Only style Coco panels that are not rendered inside legacy panel components */
|
10
10
|
&:not([data-component="panel"] [data-component="panel"]) {
|
11
|
-
@apply block bg-content-light-1 border border-gray-300 shadow-md rounded-xl;
|
11
|
+
@apply block bg-content-light-1 border border-coco-gray-300 shadow-md rounded-xl;
|
12
12
|
|
13
13
|
.panel-content {
|
14
14
|
@apply block;
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
.modal-dialog-header {
|
11
11
|
@apply relative flex items-center;
|
12
|
-
@apply px-4 sm:px-8 h-14 sm:h-16 border-b border-gray-300 rounded-t-xl bg-white;
|
12
|
+
@apply px-4 sm:px-8 h-14 sm:h-16 border-b border-coco-gray-300 rounded-t-xl bg-white;
|
13
13
|
}
|
14
14
|
|
15
15
|
.modal-dialog-title {
|
@@ -1,11 +1,33 @@
|
|
1
1
|
module Coco
|
2
2
|
module IntegrationHelper
|
3
|
-
def coco_stylesheet_tag(context, dev: ENV["COCO_PATH"], **)
|
3
|
+
def coco_stylesheet_tag(context = "coco", dev: ENV["COCO_PATH"], **)
|
4
4
|
stylesheet_link_tag("coco#{"/dev" if dev}/#{context}", **)
|
5
5
|
end
|
6
6
|
|
7
|
-
def coco_stylesheet_file_path(
|
8
|
-
|
7
|
+
def coco_stylesheet_file_path(...)
|
8
|
+
IntegrationHelper.stylesheet_file_path(...)
|
9
|
+
end
|
10
|
+
|
11
|
+
def coco_javascript_file_path(...)
|
12
|
+
IntegrationHelper.javascript_file_path(...)
|
13
|
+
end
|
14
|
+
|
15
|
+
def coco_tailwind_preset_path(...)
|
16
|
+
IntegrationHelper.tailwind_preset_path(...)
|
17
|
+
end
|
18
|
+
|
19
|
+
class << self
|
20
|
+
def stylesheet_file_path(context = "coco", dev: ENV["COCO_PATH"], **opts)
|
21
|
+
File.join(Coco::Engine.root, "app/assets/build/coco#{"/dev" if dev}/#{context}.css")
|
22
|
+
end
|
23
|
+
|
24
|
+
def javascript_file_path(context = "coco", dev: ENV["COCO_PATH"], **opts)
|
25
|
+
File.join(Coco::Engine.root, "app/assets/build/coco#{"/dev" if dev}/#{context}.js")
|
26
|
+
end
|
27
|
+
|
28
|
+
def tailwind_preset_path
|
29
|
+
File.join(Coco::Engine.root, "app/assets/build/coco/tailwind.preset.js")
|
30
|
+
end
|
9
31
|
end
|
10
32
|
end
|
11
33
|
end
|
data/config/exports.js
ADDED
File without changes
|
data/config/tailwind.config.js
CHANGED
@@ -1,94 +1,12 @@
|
|
1
1
|
/** @type {import('tailwindcss').Config} */
|
2
2
|
|
3
|
-
const defaultTheme = require("tailwindcss/defaultTheme");
|
4
3
|
const { cocoPath } = require("./utils.js");
|
5
|
-
const { fontSize, fontFamily, colors, screens } = require("./tokens.js");
|
6
4
|
|
7
5
|
module.exports = {
|
6
|
+
presets: [require("./tailwind.preset.js")],
|
8
7
|
content: [
|
9
8
|
cocoPath("@components/**/*.{erb,rb,js}", true),
|
10
9
|
cocoPath("@assets/**/*.{erb,rb}", true),
|
11
|
-
cocoPath("@previews/**/*.{erb,rb}", true),
|
12
|
-
],
|
13
|
-
safelist: [
|
14
|
-
{
|
15
|
-
pattern: /tippy-.+/,
|
16
|
-
},
|
17
10
|
],
|
18
11
|
blocklist: ["container"],
|
19
|
-
theme: {
|
20
|
-
colors,
|
21
|
-
screens,
|
22
|
-
fontFamily: {
|
23
|
-
display: [fontFamily.displaySans, ...defaultTheme.fontFamily.sans],
|
24
|
-
body: [fontFamily.bodySans, ...defaultTheme.fontFamily.sans],
|
25
|
-
branded: [fontFamily.displaySerif, ...defaultTheme.fontFamily.serif],
|
26
|
-
},
|
27
|
-
extend: {
|
28
|
-
fontSize,
|
29
|
-
containers: {
|
30
|
-
"slide-fluid": "700px",
|
31
|
-
},
|
32
|
-
aspectRatio: {
|
33
|
-
slide: "16 / 10",
|
34
|
-
},
|
35
|
-
animation: {
|
36
|
-
spin: "spin 1.5s linear infinite",
|
37
|
-
"spin-reverse": "spin 1.5s linear infinite reverse",
|
38
|
-
},
|
39
|
-
spacing: {
|
40
|
-
13: "3.25rem",
|
41
|
-
15: "3.75rem",
|
42
|
-
18: "4.5rem",
|
43
|
-
},
|
44
|
-
customForms: () => ({
|
45
|
-
DEFAULT: {
|
46
|
-
checkbox: {
|
47
|
-
"&:indeterminate": {
|
48
|
-
background:
|
49
|
-
"url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='8' height='2' x='4' y='7' rx='1'/%3E%3C/svg%3E\");",
|
50
|
-
borderColor: "transparent",
|
51
|
-
backgroundColor: "currentColor",
|
52
|
-
backgroundSize: "100% 100%",
|
53
|
-
backgroundPosition: "center",
|
54
|
-
backgroundRepeat: "no-repeat",
|
55
|
-
},
|
56
|
-
},
|
57
|
-
},
|
58
|
-
}),
|
59
|
-
},
|
60
|
-
},
|
61
|
-
corePlugins: {
|
62
|
-
aspectRatio: false,
|
63
|
-
},
|
64
|
-
plugins: [
|
65
|
-
require("@tailwindcss/forms"),
|
66
|
-
require("@tailwindcss/container-queries"),
|
67
|
-
|
68
|
-
({ matchUtilities, theme }) => {
|
69
|
-
// Safari 14-compatible aspect ratio
|
70
|
-
matchUtilities(
|
71
|
-
{
|
72
|
-
aspect: (value) => ({
|
73
|
-
"@supports (aspect-ratio: 1 / 1)": {
|
74
|
-
aspectRatio: value,
|
75
|
-
},
|
76
|
-
"@supports not (aspect-ratio: 1 / 1)": {
|
77
|
-
"&::before": {
|
78
|
-
content: '""',
|
79
|
-
float: "left",
|
80
|
-
paddingTop: `calc(100% / (${value}))`,
|
81
|
-
},
|
82
|
-
"&::after": {
|
83
|
-
clear: "left",
|
84
|
-
content: '""',
|
85
|
-
display: "block",
|
86
|
-
},
|
87
|
-
},
|
88
|
-
}),
|
89
|
-
},
|
90
|
-
{ values: theme("aspectRatio") }
|
91
|
-
);
|
92
|
-
},
|
93
|
-
],
|
94
12
|
};
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/** @type {import('tailwindcss').Config} */
|
2
|
+
|
3
|
+
const defaultTheme = require("tailwindcss/defaultTheme");
|
4
|
+
const { fontSize, fontFamily, colors, screens } = require("./tokens.js");
|
5
|
+
|
6
|
+
module.exports = {
|
7
|
+
theme: {
|
8
|
+
colors,
|
9
|
+
screens,
|
10
|
+
fontFamily: {
|
11
|
+
display: [fontFamily.displaySans, ...defaultTheme.fontFamily.sans],
|
12
|
+
body: [fontFamily.bodySans, ...defaultTheme.fontFamily.sans],
|
13
|
+
branded: [fontFamily.displaySerif, ...defaultTheme.fontFamily.serif],
|
14
|
+
},
|
15
|
+
extend: {
|
16
|
+
fontSize,
|
17
|
+
containers: {
|
18
|
+
"slide-fluid": "700px",
|
19
|
+
},
|
20
|
+
aspectRatio: {
|
21
|
+
slide: "16 / 10",
|
22
|
+
},
|
23
|
+
animation: {
|
24
|
+
spin: "spin 1.5s linear infinite",
|
25
|
+
"spin-reverse": "spin 1.5s linear infinite reverse",
|
26
|
+
},
|
27
|
+
spacing: {
|
28
|
+
4.5: "1.125rem",
|
29
|
+
5.5: "1.375rem",
|
30
|
+
6.5: "1.675rem",
|
31
|
+
7.5: "1.875rem",
|
32
|
+
13: "3.25rem",
|
33
|
+
15: "3.75rem",
|
34
|
+
17: "4.25rem",
|
35
|
+
18: "4.5rem",
|
36
|
+
},
|
37
|
+
customForms: () => ({
|
38
|
+
DEFAULT: {
|
39
|
+
checkbox: {
|
40
|
+
"&:indeterminate": {
|
41
|
+
background:
|
42
|
+
"url(\"data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='8' height='2' x='4' y='7' rx='1'/%3E%3C/svg%3E\");",
|
43
|
+
borderColor: "transparent",
|
44
|
+
backgroundColor: "currentColor",
|
45
|
+
backgroundSize: "100% 100%",
|
46
|
+
backgroundPosition: "center",
|
47
|
+
backgroundRepeat: "no-repeat",
|
48
|
+
},
|
49
|
+
},
|
50
|
+
},
|
51
|
+
}),
|
52
|
+
},
|
53
|
+
},
|
54
|
+
corePlugins: {
|
55
|
+
aspectRatio: false,
|
56
|
+
},
|
57
|
+
plugins: [
|
58
|
+
require("@tailwindcss/forms"),
|
59
|
+
require("@tailwindcss/container-queries"),
|
60
|
+
require("../app/assets/css/plugins/colors.js"),
|
61
|
+
require("../app/assets/css/plugins/icons.js"),
|
62
|
+
require("../app/assets/css/plugins/layout.js"),
|
63
|
+
require("../app/assets/css/plugins/text.js"),
|
64
|
+
require("../app/assets/css/plugins/aspect.js"),
|
65
|
+
],
|
66
|
+
};
|
data/config/tokens.js
CHANGED
@@ -3,17 +3,21 @@ const colors = {
|
|
3
3
|
current: "currentColor",
|
4
4
|
black: "#000000",
|
5
5
|
white: "#FFFFFF",
|
6
|
+
coco: {
|
7
|
+
gray: {
|
8
|
+
50: "#F9FAFB",
|
9
|
+
100: "#F3F4F6",
|
10
|
+
200: "#E5E7EB",
|
11
|
+
300: "#D1D5DB",
|
12
|
+
400: "#9CA3AF",
|
13
|
+
500: "#6B7280",
|
14
|
+
600: "#4B5563",
|
15
|
+
700: "#374151",
|
16
|
+
800: "#1F2937",
|
17
|
+
900: "#111827",
|
18
|
+
},
|
19
|
+
},
|
6
20
|
gray: {
|
7
|
-
50: "#F9FAFB",
|
8
|
-
100: "#F3F4F6",
|
9
|
-
200: "#E5E7EB",
|
10
|
-
300: "#D1D5DB",
|
11
|
-
400: "#9CA3AF",
|
12
|
-
500: "#6B7280",
|
13
|
-
600: "#4B5563",
|
14
|
-
700: "#374151",
|
15
|
-
800: "#1F2937",
|
16
|
-
900: "#111827",
|
17
21
|
transparent: {
|
18
22
|
50: "rgba(0, 12, 39, 0.06)",
|
19
23
|
100: "rgba(0, 12, 39, 0.1)",
|
@@ -104,13 +108,13 @@ const colorAliases = {
|
|
104
108
|
},
|
105
109
|
light: {
|
106
110
|
1: colors.white,
|
107
|
-
2: colors.gray[50],
|
108
|
-
3: colors.gray[100],
|
111
|
+
2: colors.coco.gray[50],
|
112
|
+
3: colors.coco.gray[100],
|
109
113
|
},
|
110
114
|
dark: {
|
111
|
-
1: colors.gray[900],
|
112
|
-
2: colors.gray[800],
|
113
|
-
3: colors.gray[700],
|
115
|
+
1: colors.coco.gray[900],
|
116
|
+
2: colors.coco.gray[800],
|
117
|
+
3: colors.coco.gray[700],
|
114
118
|
},
|
115
119
|
primary: {
|
116
120
|
DEFAULT: colors.green[500],
|
@@ -135,15 +139,15 @@ const colorAliases = {
|
|
135
139
|
},
|
136
140
|
content: {
|
137
141
|
dark: {
|
138
|
-
1: colors.gray[900],
|
139
|
-
2: colors.gray[800],
|
140
|
-
3: colors.gray[600],
|
141
|
-
muted: colors.gray[400],
|
142
|
+
1: colors.coco.gray[900],
|
143
|
+
2: colors.coco.gray[800],
|
144
|
+
3: colors.coco.gray[600],
|
145
|
+
muted: colors.coco.gray[400],
|
142
146
|
},
|
143
147
|
light: {
|
144
148
|
1: colors.white,
|
145
|
-
2: colors.gray[200],
|
146
|
-
muted: colors.gray[400],
|
149
|
+
2: colors.coco.gray[200],
|
150
|
+
muted: colors.coco.gray[400],
|
147
151
|
},
|
148
152
|
primary: {
|
149
153
|
DEFAULT: colors.green[500],
|
data/lib/coco.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coveragebook_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Perkins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -63,6 +63,7 @@ files:
|
|
63
63
|
- app/assets/build/coco/app.js
|
64
64
|
- app/assets/build/coco/book.css
|
65
65
|
- app/assets/build/coco/book.js
|
66
|
+
- app/assets/build/coco/coco.css
|
66
67
|
- app/assets/build/coco/coco.js
|
67
68
|
- app/assets/build/coco/icons/a-arrow-down.svg
|
68
69
|
- app/assets/build/coco/icons/a-arrow-up.svg
|
@@ -1451,16 +1452,20 @@ files:
|
|
1451
1452
|
- app/assets/build/coco/img/test/slides/slide-bg.jpg
|
1452
1453
|
- app/assets/build/coco/img/test/slides/slide-foreground-landscape.jpg
|
1453
1454
|
- app/assets/build/coco/img/test/slides/slide-foreground-portrait.jpg
|
1455
|
+
- app/assets/build/coco/tailwind.preset.js
|
1454
1456
|
- app/assets/config/coco/manifest.js
|
1455
1457
|
- app/assets/css/app.css
|
1456
1458
|
- app/assets/css/base/config.css
|
1457
1459
|
- app/assets/css/base/setup.css
|
1458
1460
|
- app/assets/css/base/tippy.css
|
1459
|
-
- app/assets/css/base/utils/colors.css
|
1460
|
-
- app/assets/css/base/utils/icons.css
|
1461
|
-
- app/assets/css/base/utils/layout.css
|
1462
1461
|
- app/assets/css/base/utils/text.css
|
1463
1462
|
- app/assets/css/book.css
|
1463
|
+
- app/assets/css/coco.css
|
1464
|
+
- app/assets/css/plugins/aspect.js
|
1465
|
+
- app/assets/css/plugins/colors.js
|
1466
|
+
- app/assets/css/plugins/icons.js
|
1467
|
+
- app/assets/css/plugins/layout.js
|
1468
|
+
- app/assets/css/plugins/text.js
|
1464
1469
|
- app/assets/custom_icons/other/eye-off-red.svg
|
1465
1470
|
- app/assets/custom_icons/other/google-sso.svg
|
1466
1471
|
- app/assets/custom_icons/other/layout-overlay.svg
|
@@ -1763,9 +1768,11 @@ files:
|
|
1763
1768
|
- app/helpers/coco/integration_helper.rb
|
1764
1769
|
- app/helpers/coco/modal_helper.rb
|
1765
1770
|
- app/helpers/coco/tag_helper.rb
|
1771
|
+
- config/exports.js
|
1766
1772
|
- config/icons.json
|
1767
1773
|
- config/locales/coco.en.yml
|
1768
1774
|
- config/tailwind.config.js
|
1775
|
+
- config/tailwind.preset.js
|
1769
1776
|
- config/tokens.js
|
1770
1777
|
- config/utils.js
|
1771
1778
|
- lib/coco.rb
|
@@ -1,30 +0,0 @@
|
|
1
|
-
@layer utilities {
|
2
|
-
/* Transparent gray blend-mode background utilities */
|
3
|
-
|
4
|
-
.bg-gray-blend-50 {
|
5
|
-
@apply bg-gray-transparent-50;
|
6
|
-
background-blend-mode: hard-light;
|
7
|
-
}
|
8
|
-
|
9
|
-
.bg-gray-blend-100 {
|
10
|
-
@apply bg-gray-transparent-100;
|
11
|
-
background-blend-mode: hard-light;
|
12
|
-
}
|
13
|
-
|
14
|
-
.bg-gray-blend-200 {
|
15
|
-
@apply bg-gray-transparent-200;
|
16
|
-
background-blend-mode: hard-light;
|
17
|
-
}
|
18
|
-
|
19
|
-
.border-gray-blend-50 {
|
20
|
-
@apply border-gray-transparent-50;
|
21
|
-
}
|
22
|
-
|
23
|
-
.border-gray-blend-100 {
|
24
|
-
@apply border-gray-transparent-100;
|
25
|
-
}
|
26
|
-
|
27
|
-
.border-gray-blend-200 {
|
28
|
-
@apply border-gray-transparent-200;
|
29
|
-
}
|
30
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
@layer utilities {
|
2
|
-
.icon {
|
3
|
-
}
|
4
|
-
|
5
|
-
.icon-stroke {
|
6
|
-
@apply fill-none stroke-2 stroke-current text-current;
|
7
|
-
stroke-linecap: round;
|
8
|
-
stroke-linejoin: round;
|
9
|
-
}
|
10
|
-
|
11
|
-
.icon-fill {
|
12
|
-
@apply fill-current text-current;
|
13
|
-
stroke-linecap: round;
|
14
|
-
stroke-linejoin: round;
|
15
|
-
}
|
16
|
-
}
|