coveragebook_components 0.17.4 → 0.17.6
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/coco.css +16 -9
- data/app/assets/build/coco/coco.js +54 -30
- data/app/components/coco/buttons/button/button.html.erb +4 -0
- data/app/components/coco/buttons/button/button.rb +12 -2
- data/app/components/coco/buttons/button_to/button_to.rb +13 -3
- data/app/components/coco/messaging/alert/alert.css +2 -2
- data/app/components/coco/messaging/alert/alert.html.erb +7 -5
- data/app/components/coco/messaging/alert/alert.rb +1 -1
- data/app/components/coco/messaging/notice/notice.rb +3 -3
- data/app/components/coco/messaging/tooltip/tooltip.js +1 -3
- data/lib/coco.rb +1 -1
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c269c84dcfebd4fc4eb0e9542d17d84e6a6de8295ec20cf7f17d059de7321b77
|
4
|
+
data.tar.gz: 6e9956db055856d5e4a90edb7357543617ceeb4963fdcd8cf6bf897c64c573f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4489238d098216b49e077bd9b6573fc9ebdef9ff6ec0cc0b15d53d28aa91e0ff3a1ae6739a98fca8e646099386201fffc4b450da5279589f5994deac053ff50
|
7
|
+
data.tar.gz: 2a0fbad3e33279253d388c0f82077fbf8bada21323039c3be6ffda78342216f1d89d5db9a3b187677eba4db224fc2c1fb70bdc52ddc08795be67d3a7f0481d5e
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
! tailwindcss v3.4.
|
2
|
+
! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
|
3
3
|
*//*
|
4
4
|
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
|
5
5
|
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
|
@@ -179,6 +179,7 @@ textarea {
|
|
179
179
|
font-size: 100%; /* 1 */
|
180
180
|
font-weight: inherit; /* 1 */
|
181
181
|
line-height: inherit; /* 1 */
|
182
|
+
letter-spacing: inherit; /* 1 */
|
182
183
|
color: inherit; /* 1 */
|
183
184
|
margin: 0; /* 2 */
|
184
185
|
padding: 0; /* 3 */
|
@@ -199,9 +200,9 @@ select {
|
|
199
200
|
*/
|
200
201
|
|
201
202
|
button,
|
202
|
-
[type='button'],
|
203
|
-
[type='reset'],
|
204
|
-
[type='submit'] {
|
203
|
+
input:where([type='button']),
|
204
|
+
input:where([type='reset']),
|
205
|
+
input:where([type='submit']) {
|
205
206
|
-webkit-appearance: button; /* 1 */
|
206
207
|
background-color: transparent; /* 2 */
|
207
208
|
background-image: none; /* 2 */
|
@@ -669,7 +670,11 @@ select{
|
|
669
670
|
--tw-backdrop-invert: ;
|
670
671
|
--tw-backdrop-opacity: ;
|
671
672
|
--tw-backdrop-saturate: ;
|
672
|
-
--tw-backdrop-sepia:
|
673
|
+
--tw-backdrop-sepia: ;
|
674
|
+
--tw-contain-size: ;
|
675
|
+
--tw-contain-layout: ;
|
676
|
+
--tw-contain-paint: ;
|
677
|
+
--tw-contain-style:
|
673
678
|
}
|
674
679
|
|
675
680
|
::backdrop{
|
@@ -719,7 +724,11 @@ select{
|
|
719
724
|
--tw-backdrop-invert: ;
|
720
725
|
--tw-backdrop-opacity: ;
|
721
726
|
--tw-backdrop-saturate: ;
|
722
|
-
--tw-backdrop-sepia:
|
727
|
+
--tw-backdrop-sepia: ;
|
728
|
+
--tw-contain-size: ;
|
729
|
+
--tw-contain-layout: ;
|
730
|
+
--tw-contain-paint: ;
|
731
|
+
--tw-contain-style:
|
723
732
|
}
|
724
733
|
|
725
734
|
.coco-button-wrapper{
|
@@ -3870,7 +3879,7 @@ select{
|
|
3870
3879
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
|
3871
3880
|
}
|
3872
3881
|
|
3873
|
-
@container (min-width:
|
3882
|
+
@container (min-width: 550px){
|
3874
3883
|
[data-coco][data-component="alert"] .alert-container{
|
3875
3884
|
align-items: center;
|
3876
3885
|
padding-top: 0.625rem;
|
@@ -3964,7 +3973,6 @@ select{
|
|
3964
3973
|
}
|
3965
3974
|
|
3966
3975
|
[data-coco][data-component="alert"][data-single-line="true"]:not(.force-multi-line)[data-dismissable="true"] .alert-container{
|
3967
|
-
padding-left: 3rem;
|
3968
3976
|
padding-right: 3rem
|
3969
3977
|
}
|
3970
3978
|
|
@@ -6043,7 +6051,6 @@ select{
|
|
6043
6051
|
}
|
6044
6052
|
|
6045
6053
|
.alert-single-line[data-dismissable="true"] .alert-container{
|
6046
|
-
padding-left: 3rem;
|
6047
6054
|
padding-right: 3rem
|
6048
6055
|
}
|
6049
6056
|
|
@@ -7381,8 +7381,8 @@ var require_module_cjs = __commonJS({
|
|
7381
7381
|
});
|
7382
7382
|
});
|
7383
7383
|
}
|
7384
|
-
function destroyTree(root) {
|
7385
|
-
|
7384
|
+
function destroyTree(root, walker = walk) {
|
7385
|
+
walker(root, (el) => {
|
7386
7386
|
cleanupAttributes(el);
|
7387
7387
|
cleanupElement(el);
|
7388
7388
|
});
|
@@ -7579,7 +7579,7 @@ var require_module_cjs = __commonJS({
|
|
7579
7579
|
if (name == Symbol.unscopables)
|
7580
7580
|
return false;
|
7581
7581
|
return objects.some(
|
7582
|
-
(obj) => Object.prototype.hasOwnProperty.call(obj, name)
|
7582
|
+
(obj) => Object.prototype.hasOwnProperty.call(obj, name) || Reflect.has(obj, name)
|
7583
7583
|
);
|
7584
7584
|
},
|
7585
7585
|
get({ objects }, name, thisProxy) {
|
@@ -7587,7 +7587,7 @@ var require_module_cjs = __commonJS({
|
|
7587
7587
|
return collapseProxies;
|
7588
7588
|
return Reflect.get(
|
7589
7589
|
objects.find(
|
7590
|
-
(obj) =>
|
7590
|
+
(obj) => Reflect.has(obj, name)
|
7591
7591
|
) || {},
|
7592
7592
|
name,
|
7593
7593
|
thisProxy
|
@@ -7616,6 +7616,8 @@ var require_module_cjs = __commonJS({
|
|
7616
7616
|
Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => {
|
7617
7617
|
if (enumerable === false || value === void 0)
|
7618
7618
|
return;
|
7619
|
+
if (typeof value === "object" && value !== null && value.__v_skip)
|
7620
|
+
return;
|
7619
7621
|
let path = basePath === "" ? key : `${basePath}.${key}`;
|
7620
7622
|
if (typeof value === "object" && value !== null && value._x_interceptor) {
|
7621
7623
|
obj[key] = value.initialize(data2, path, key);
|
@@ -8537,7 +8539,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
8537
8539
|
"checked",
|
8538
8540
|
"required",
|
8539
8541
|
"readonly",
|
8540
|
-
"hidden",
|
8541
8542
|
"open",
|
8542
8543
|
"selected",
|
8543
8544
|
"autofocus",
|
@@ -8745,7 +8746,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
8745
8746
|
get raw() {
|
8746
8747
|
return raw;
|
8747
8748
|
},
|
8748
|
-
version: "3.13.
|
8749
|
+
version: "3.13.8",
|
8749
8750
|
flushAndStopDeferringMutations,
|
8750
8751
|
dontAutoEvaluateFunctions,
|
8751
8752
|
disableEffectScheduling,
|
@@ -8828,12 +8829,10 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
8828
8829
|
});
|
8829
8830
|
function getArrayOfRefObject(el) {
|
8830
8831
|
let refObjects = [];
|
8831
|
-
|
8832
|
-
|
8833
|
-
|
8834
|
-
|
8835
|
-
currentEl = currentEl.parentNode;
|
8836
|
-
}
|
8832
|
+
findClosest(el, (i2) => {
|
8833
|
+
if (i2._x_refs)
|
8834
|
+
refObjects.push(i2._x_refs);
|
8835
|
+
});
|
8837
8836
|
return refObjects;
|
8838
8837
|
}
|
8839
8838
|
var globalIdMemo = {};
|
@@ -9183,7 +9182,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9183
9182
|
});
|
9184
9183
|
if (modifiers.includes("fill")) {
|
9185
9184
|
if ([void 0, null, ""].includes(getValue()) || el.type === "checkbox" && Array.isArray(getValue())) {
|
9186
|
-
|
9185
|
+
setValue(
|
9186
|
+
getInputValue(el, modifiers, { target: el }, getValue())
|
9187
|
+
);
|
9187
9188
|
}
|
9188
9189
|
}
|
9189
9190
|
if (!el._x_removeModelListeners)
|
@@ -9252,12 +9253,25 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9252
9253
|
return option.value || option.text;
|
9253
9254
|
});
|
9254
9255
|
} else {
|
9256
|
+
let newValue;
|
9257
|
+
if (el.type === "radio") {
|
9258
|
+
if (event.target.checked) {
|
9259
|
+
newValue = event.target.value;
|
9260
|
+
} else {
|
9261
|
+
newValue = currentValue;
|
9262
|
+
}
|
9263
|
+
} else {
|
9264
|
+
newValue = event.target.value;
|
9265
|
+
}
|
9255
9266
|
if (modifiers.includes("number")) {
|
9256
|
-
return safeParseNumber(
|
9267
|
+
return safeParseNumber(newValue);
|
9257
9268
|
} else if (modifiers.includes("boolean")) {
|
9258
|
-
return safeParseBoolean(
|
9269
|
+
return safeParseBoolean(newValue);
|
9270
|
+
} else if (modifiers.includes("trim")) {
|
9271
|
+
return newValue.trim();
|
9272
|
+
} else {
|
9273
|
+
return newValue;
|
9259
9274
|
}
|
9260
|
-
return modifiers.includes("trim") ? event.target.value.trim() : event.target.value;
|
9261
9275
|
}
|
9262
9276
|
});
|
9263
9277
|
}
|
@@ -9306,7 +9320,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9306
9320
|
});
|
9307
9321
|
});
|
9308
9322
|
mapAttributes(startingWith(":", into(prefix("bind:"))));
|
9309
|
-
var handler2 = (el, { value, modifiers, expression, original }, { effect: effect3 }) => {
|
9323
|
+
var handler2 = (el, { value, modifiers, expression, original }, { effect: effect3, cleanup }) => {
|
9310
9324
|
if (!value) {
|
9311
9325
|
let bindingProviders = {};
|
9312
9326
|
injectBindingProviders(bindingProviders);
|
@@ -9328,6 +9342,10 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9328
9342
|
}
|
9329
9343
|
mutateDom(() => bind(el, value, result, modifiers));
|
9330
9344
|
}));
|
9345
|
+
cleanup(() => {
|
9346
|
+
el._x_undoAddedClasses && el._x_undoAddedClasses();
|
9347
|
+
el._x_undoAddedStyles && el._x_undoAddedStyles();
|
9348
|
+
});
|
9331
9349
|
};
|
9332
9350
|
handler2.inline = (el, { value, modifiers, expression }) => {
|
9333
9351
|
if (!value)
|
@@ -9457,13 +9475,21 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9457
9475
|
if (isObject2(items)) {
|
9458
9476
|
items = Object.entries(items).map(([key, value]) => {
|
9459
9477
|
let scope2 = getIterationScopeVariables(iteratorNames, value, key, items);
|
9460
|
-
evaluateKey((value2) =>
|
9478
|
+
evaluateKey((value2) => {
|
9479
|
+
if (keys.includes(value2))
|
9480
|
+
warn("Duplicate key on x-for", el);
|
9481
|
+
keys.push(value2);
|
9482
|
+
}, { scope: { index: key, ...scope2 } });
|
9461
9483
|
scopes.push(scope2);
|
9462
9484
|
});
|
9463
9485
|
} else {
|
9464
9486
|
for (let i2 = 0; i2 < items.length; i2++) {
|
9465
9487
|
let scope2 = getIterationScopeVariables(iteratorNames, items[i2], i2, items);
|
9466
|
-
evaluateKey((value) =>
|
9488
|
+
evaluateKey((value) => {
|
9489
|
+
if (keys.includes(value))
|
9490
|
+
warn("Duplicate key on x-for", el);
|
9491
|
+
keys.push(value);
|
9492
|
+
}, { scope: { index: i2, ...scope2 } });
|
9467
9493
|
scopes.push(scope2);
|
9468
9494
|
}
|
9469
9495
|
}
|
@@ -9511,7 +9537,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9511
9537
|
let marker = document.createElement("div");
|
9512
9538
|
mutateDom(() => {
|
9513
9539
|
if (!elForSpot)
|
9514
|
-
warn(`x-for ":key" is undefined or invalid`, templateEl);
|
9540
|
+
warn(`x-for ":key" is undefined or invalid`, templateEl, keyForSpot, lookup);
|
9515
9541
|
elForSpot.after(marker);
|
9516
9542
|
elInSpot.after(elForSpot);
|
9517
9543
|
elForSpot._x_currentIfEl && elForSpot.after(elForSpot._x_currentIfEl);
|
@@ -9538,7 +9564,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9538
9564
|
};
|
9539
9565
|
mutateDom(() => {
|
9540
9566
|
lastEl.after(clone2);
|
9541
|
-
initTree(clone2);
|
9567
|
+
skipDuringClone(() => initTree(clone2))();
|
9542
9568
|
});
|
9543
9569
|
if (typeof key === "object") {
|
9544
9570
|
warn("x-for key cannot be an object, it must be a string or an integer", templateEl);
|
@@ -9618,7 +9644,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
|
|
9618
9644
|
addScopeToNode(clone2, {}, el);
|
9619
9645
|
mutateDom(() => {
|
9620
9646
|
el.after(clone2);
|
9621
|
-
initTree(clone2);
|
9647
|
+
skipDuringClone(() => initTree(clone2))();
|
9622
9648
|
});
|
9623
9649
|
el._x_currentIfEl = clone2;
|
9624
9650
|
el._x_undoIf = () => {
|
@@ -15415,7 +15441,7 @@ var alpine_default = import_alpinejs.default;
|
|
15415
15441
|
// ../../../package.json
|
15416
15442
|
var package_default = {
|
15417
15443
|
name: "coveragebook-components",
|
15418
|
-
version: "0.17.
|
15444
|
+
version: "0.17.6",
|
15419
15445
|
repository: "git@github.com:coveragebook/coco.git",
|
15420
15446
|
license: "NO LICENSE",
|
15421
15447
|
author: "Mark Perkins <mark@coveragebook.com>",
|
@@ -15464,7 +15490,7 @@ var package_default = {
|
|
15464
15490
|
"@tailwindcss/container-queries": "^0.1.0",
|
15465
15491
|
"@tailwindcss/forms": "^0.5.6",
|
15466
15492
|
"alias-hq": "^6.2.2",
|
15467
|
-
alpinejs: "^3.13.
|
15493
|
+
alpinejs: "^3.13.8",
|
15468
15494
|
autoprefixer: "^10.4.16",
|
15469
15495
|
"container-query-polyfill": "^1.0.2",
|
15470
15496
|
del: "^7.1.0",
|
@@ -15472,7 +15498,7 @@ var package_default = {
|
|
15472
15498
|
"esbuild-plugin-copy": "^2.0.2",
|
15473
15499
|
"fast-glob": "^3.3.1",
|
15474
15500
|
"fast-sort": "^3.2.1",
|
15475
|
-
husky: "^
|
15501
|
+
husky: "^9.0.11",
|
15476
15502
|
"js-cookie": "^3.0.5",
|
15477
15503
|
"lint-staged": "^15.2.2",
|
15478
15504
|
"lodash.camelcase": "^4.3.0",
|
@@ -15483,10 +15509,10 @@ var package_default = {
|
|
15483
15509
|
postcss: "^8.4.31",
|
15484
15510
|
"postcss-cli": "^11.0.0",
|
15485
15511
|
"postcss-value-parser": "^4.2.0",
|
15486
|
-
prettier: "^3.
|
15512
|
+
prettier: "^3.2.5",
|
15487
15513
|
"release-it": "^17.0.1",
|
15488
15514
|
svgo: "^3.0.2",
|
15489
|
-
tailwindcss: "^3.4.
|
15515
|
+
tailwindcss: "^3.4.3",
|
15490
15516
|
"tippy.js": "^6.3.7"
|
15491
15517
|
},
|
15492
15518
|
"release-it": {
|
@@ -16368,9 +16394,7 @@ var tooltip_default2 = CocoComponent("tooltip", () => {
|
|
16368
16394
|
init() {
|
16369
16395
|
tippy_default(this.$el, {
|
16370
16396
|
theme: "coco-tooltip",
|
16371
|
-
appendTo: () =>
|
16372
|
-
return this.$el.firstElementChild;
|
16373
|
-
}
|
16397
|
+
appendTo: () => document.body
|
16374
16398
|
});
|
16375
16399
|
}
|
16376
16400
|
};
|
@@ -11,6 +11,10 @@
|
|
11
11
|
"dropdown:trigger": (true if dropdown?),
|
12
12
|
"dropdown:anchor": (true if dropdown?),
|
13
13
|
"@click": ("#{"checkConfirmation($event);" if confirm?} #{on_click}" if confirm? || on_click.present?)
|
14
|
+
},
|
15
|
+
data: {
|
16
|
+
turbo: turbo_data_attr_value,
|
17
|
+
turbo_frame: turbo_frame
|
14
18
|
}
|
15
19
|
) do %>
|
16
20
|
<span class="button-inner">
|
@@ -72,15 +72,17 @@ module Coco
|
|
72
72
|
@states[name.to_sym] = kwargs.except!(:name)
|
73
73
|
end
|
74
74
|
|
75
|
-
attr_reader :on_click, :resize
|
75
|
+
attr_reader :on_click, :resize, :turbo_frame
|
76
76
|
|
77
|
-
def initialize(click: nil, resize: nil, states: nil, loading: false, active: false, static: nil, **kwargs)
|
77
|
+
def initialize(click: nil, resize: nil, states: nil, loading: false, active: false, static: nil, turbo: nil, turbo_frame: nil, **kwargs)
|
78
78
|
@on_click = click
|
79
79
|
@resize = resize.to_h
|
80
80
|
@states = states.to_h
|
81
81
|
@loading = loading
|
82
82
|
@static = static
|
83
83
|
@active = active
|
84
|
+
@turbo = turbo
|
85
|
+
@turbo_frame = turbo_frame
|
84
86
|
end
|
85
87
|
|
86
88
|
def with_dropdown(...)
|
@@ -186,6 +188,14 @@ module Coco
|
|
186
188
|
{tooltips: state_tooltips} if state_tooltips.present?
|
187
189
|
end
|
188
190
|
|
191
|
+
def turbo_data_attr_value
|
192
|
+
if @turbo == false
|
193
|
+
"false"
|
194
|
+
elsif @turbo == true
|
195
|
+
"true"
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
189
199
|
private
|
190
200
|
|
191
201
|
def default_states
|
@@ -19,14 +19,15 @@ module Coco
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
attr_reader :method
|
22
|
+
attr_reader :method
|
23
23
|
|
24
|
-
def initialize(form: nil, params: nil, method: :post, action: nil, href: nil, turbo: false, **kwargs)
|
24
|
+
def initialize(form: nil, params: nil, method: :post, action: nil, href: nil, turbo: false, turbo_frame: nil, **kwargs)
|
25
25
|
@form_args = form.to_h
|
26
26
|
@action = action || href
|
27
27
|
@method = method
|
28
28
|
@params = params.to_h
|
29
29
|
@turbo = turbo
|
30
|
+
@turbo_frame = turbo_frame
|
30
31
|
end
|
31
32
|
|
32
33
|
def params
|
@@ -38,11 +39,20 @@ module Coco
|
|
38
39
|
url: action,
|
39
40
|
method: method,
|
40
41
|
data: {
|
41
|
-
turbo:
|
42
|
+
turbo: turbo_data_attr_value,
|
43
|
+
turbo_frame: @turbo_frame
|
42
44
|
}
|
43
45
|
}.deep_merge(@form_args)
|
44
46
|
end
|
45
47
|
|
48
|
+
def turbo_data_attr_value
|
49
|
+
if @turbo == false
|
50
|
+
"false"
|
51
|
+
elsif @turbo == true
|
52
|
+
"true"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
46
56
|
def action
|
47
57
|
@action.is_a?(String) ? @action : helpers.url_for(@action)
|
48
58
|
end
|
@@ -103,7 +103,7 @@
|
|
103
103
|
|
104
104
|
/* Layout */
|
105
105
|
|
106
|
-
@apply alert-stacked @[
|
106
|
+
@apply alert-stacked @[550px]:alert-multi-line;
|
107
107
|
|
108
108
|
&[data-single-line="true"]:not(.force-multi-line) {
|
109
109
|
@apply @[1000px]:alert-single-line;
|
@@ -311,7 +311,7 @@
|
|
311
311
|
}
|
312
312
|
|
313
313
|
.alert-container {
|
314
|
-
@apply
|
314
|
+
@apply pr-12;
|
315
315
|
}
|
316
316
|
|
317
317
|
.alert-dismiss {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
show: "!dismissed",
|
5
5
|
cloak: (true if cloak?)
|
6
6
|
}, class: {
|
7
|
-
"with-title": title?,
|
7
|
+
"with-title": title? && title.present?,
|
8
8
|
"with-action": action? || secondary_action?,
|
9
9
|
"vivid": vivid?
|
10
10
|
}) do %>
|
@@ -15,13 +15,15 @@
|
|
15
15
|
|
16
16
|
<div class="alert-body">
|
17
17
|
<div class="alert-content" data-role="content">
|
18
|
-
<% if title? %>
|
18
|
+
<% if title? && title.present? %>
|
19
19
|
<h4 class="alert-title"><%= title %></h4>
|
20
20
|
<% end %>
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
<% if message? || content %>
|
23
|
+
<p class="alert-message"<% if single_line? %> x-dimensions="checkSingleLineWrap(dimensions)"<% end %>>
|
24
|
+
<%= message? ? message : content %>
|
25
|
+
</p>
|
26
|
+
<% end %>
|
25
27
|
|
26
28
|
<% if link? %>
|
27
29
|
<div class="alert-link" data-role="link">
|
@@ -3,10 +3,10 @@ module Coco
|
|
3
3
|
include Concerns::AcceptsOptions
|
4
4
|
include Concerns::WrapsComponent
|
5
5
|
|
6
|
-
accepts_option :dismissable, from: [true, false], default:
|
6
|
+
accepts_option :dismissable, from: [true, false], default: false
|
7
7
|
|
8
8
|
wraps_component :alert do |args|
|
9
|
-
Coco::Alert.new(**args, dismissable: get_option_value(:dismissable))
|
9
|
+
Coco::Alert.new(**args, cloak: false, dismissable: get_option_value(:dismissable))
|
10
10
|
end
|
11
11
|
|
12
12
|
%i[title action secondary_action link].each do |slot_name|
|
@@ -16,7 +16,7 @@ module Coco
|
|
16
16
|
end
|
17
17
|
|
18
18
|
before_render do
|
19
|
-
with_title { @title } unless title?
|
19
|
+
with_title { @title } unless title? || @title.nil?
|
20
20
|
end
|
21
21
|
|
22
22
|
def initialize(title: nil, **kwargs)
|
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.17.
|
4
|
+
version: 0.17.6
|
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-04-
|
11
|
+
date: 2024-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -28,16 +28,22 @@ dependencies:
|
|
28
28
|
name: view_component
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.9'
|
34
|
+
- - "<"
|
32
35
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
36
|
+
version: '3.13'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.9'
|
44
|
+
- - "<"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.
|
46
|
+
version: '3.13'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: turbo-rails
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|