ariadne_view_components 0.0.49-arm64-darwin → 0.0.51-arm64-darwin
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/CHANGELOG.md +4 -0
- data/app/assets/builds/ariadne_view_components.css +2199 -0
- data/app/assets/javascripts/ariadne_view_components.js +1 -1
- data/app/assets/javascripts/ariadne_view_components.js.map +1 -1
- data/app/assets/javascripts/components/ariadne/options_controller/options_controller.d.ts +1 -1
- data/app/assets/javascripts/components/ariadne/synced_boolean_attributes_controller/synced_boolean_attributes_controller.d.ts +1 -0
- data/app/components/ariadne/action_card_component.html.erb +4 -2
- data/app/components/ariadne/action_card_component.rb +52 -9
- data/app/components/ariadne/combobox_component.rb +1 -1
- data/app/components/ariadne/options_controller/options_controller.d.ts +1 -1
- data/app/components/ariadne/options_controller/options_controller.js +13 -23
- data/app/components/ariadne/options_controller/options_controller.ts +12 -24
- data/app/components/ariadne/synced_boolean_attributes_controller/synced_boolean_attributes_controller.d.ts +1 -0
- data/app/components/ariadne/synced_boolean_attributes_controller/synced_boolean_attributes_controller.js +20 -0
- data/app/components/ariadne/synced_boolean_attributes_controller/synced_boolean_attributes_controller.ts +23 -0
- data/lib/ariadne/view_components/version.rb +1 -1
- data/static/constants.json +18 -3
- metadata +4 -3
@@ -31,8 +31,8 @@ export default class OptionsController extends SyncedBooleanAttributesController
|
|
31
31
|
readonly isMultiValue: boolean;
|
32
32
|
readonly toggleableValue: boolean;
|
33
33
|
optionTargetLookup: Map<Element, TOptionKey>;
|
34
|
-
connect(): void;
|
35
34
|
select(event: Event, updateTo?: TOutletChangeData<TActiveOptions>): void;
|
35
|
+
optionsTargetConnected(element: Element): void;
|
36
36
|
getValueForElement(element: Element): boolean | null;
|
37
37
|
getState(): TActiveOptions;
|
38
38
|
outletUpdate: (event: Event, updateTo?: TOutletChangeData<TActiveOptions>) => void;
|
@@ -41,4 +41,5 @@ export default class SyncedBooleanAttributesController<T> extends OutletManagerC
|
|
41
41
|
updateAttributesForElement(element: Element, value: boolean): void;
|
42
42
|
syncElementAttributes(): void;
|
43
43
|
validateAttrChange(dispatchEvent: TStimulusDispatchEvent<TSyncAttrDetail>): void;
|
44
|
+
doesElementHaveOnAttrs(element: Element): boolean;
|
44
45
|
}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
<%= render Ariadne::BaseComponent.new(tag: @tag, classes: @classes, attributes: @attributes) do |component| %>
|
2
|
-
<%=
|
3
|
-
|
2
|
+
<%= render Ariadne::LinkComponent.new(tag: @link_tag, href: @href, actionable: @actionable, classes: @link_classes, attributes: @link_attributes) do %>
|
3
|
+
<%= icon %>
|
4
|
+
<%= title %>
|
5
|
+
<% end %>
|
4
6
|
<% if actions? %>
|
5
7
|
<div class="<%= @actions_wrapper_classes %>">
|
6
8
|
<% actions.each do |action| %>
|
@@ -1,27 +1,61 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Ariadne
|
4
|
-
#
|
5
|
-
# Add additional usage considerations or best practices that may aid the user to use the component correctly.
|
6
|
-
# @accessibility Add any accessibility considerations
|
4
|
+
# Card of anchor tags (most likely) that are used to navigate around a similar idea
|
7
5
|
class ActionCardComponent < Ariadne::Component
|
8
6
|
DEFAULT_TAG = :div
|
7
|
+
DEFAULT_TITLE_TAG = :h3
|
8
|
+
DEFAULT_ICON_TAG = :svg
|
9
|
+
DEFAULT_ACTION_TAG = :a
|
9
10
|
TAG_OPTIONS = [DEFAULT_TAG].freeze
|
10
11
|
|
11
12
|
DEFAULT_CLASSES = {
|
12
|
-
wrapper: "ariadne-w-
|
13
|
-
actions_wrapper: "ariadne-flex",
|
13
|
+
wrapper: "ariadne-overflow-hidden ariadne-w-96 ariadne-rounded-lg ariadne-mr-4 [&:last]:ariadne-mr-0",
|
14
|
+
actions_wrapper: "ariadne-flex ariadne-w-full",
|
15
|
+
icon: "",
|
16
|
+
link: "ariadne-flex ariadne-flex-col ariadne-items-center",
|
17
|
+
title: "ariadne-text-center ariadne-mb-4 ariadne-text-xl ariadne-font-bold",
|
18
|
+
action: "ariadne-w-full ariadne-flex ariadne-items-center ariadne-justify-center ariadne-py-6 ariadne-text-sm",
|
14
19
|
}
|
15
20
|
|
16
21
|
DEFAULT_ATTRIBUTES = {
|
17
22
|
wrapper: {},
|
23
|
+
link: {},
|
24
|
+
icon: {},
|
25
|
+
title: {},
|
26
|
+
action: {},
|
18
27
|
}
|
19
28
|
|
20
|
-
renders_one :icon,
|
29
|
+
renders_one :icon, lambda { |tag: DEFAULT_ICON_TAG, icon: :inbox, size: :lg, variant: HeroiconsHelper::Icon::VARIANT_OUTLINE, classes: "", attributes: {}, text_classes: "", text_attributes: {}|
|
30
|
+
Ariadne::HeroiconComponent.new(
|
31
|
+
tag: tag,
|
32
|
+
size: size,
|
33
|
+
variant: variant,
|
34
|
+
classes: merge_class_names(DEFAULT_CLASSES[:icon], classes),
|
35
|
+
attributes: DEFAULT_ATTRIBUTES[:icon].merge(attributes),
|
36
|
+
text_classes: text_classes,
|
37
|
+
text_attributes: text_attributes,
|
38
|
+
icon: icon,
|
39
|
+
)
|
40
|
+
}
|
21
41
|
|
22
|
-
renders_one :title,
|
42
|
+
renders_one :title, lambda { |tag: DEFAULT_TITLE_TAG, classes: "", attributes: {}|
|
43
|
+
Ariadne::HeadingComponent.new(
|
44
|
+
tag: tag,
|
45
|
+
classes: merge_class_names(DEFAULT_CLASSES[:title], classes),
|
46
|
+
attributes: DEFAULT_ATTRIBUTES[:title].merge(attributes),
|
47
|
+
)
|
48
|
+
}
|
23
49
|
|
24
|
-
renders_many :actions,
|
50
|
+
renders_many :actions, lambda { |tag: DEFAULT_ACTION_TAG, href:, actionable: false, classes: "", attributes: {}|
|
51
|
+
Ariadne::LinkComponent.new(
|
52
|
+
tag: tag,
|
53
|
+
href: href,
|
54
|
+
actionable: actionable,
|
55
|
+
classes: merge_class_names(DEFAULT_CLASSES[:action], classes),
|
56
|
+
attributes: DEFAULT_ATTRIBUTES[:action].merge(attributes),
|
57
|
+
)
|
58
|
+
}
|
25
59
|
|
26
60
|
# @example Default
|
27
61
|
#
|
@@ -32,14 +66,23 @@ module Ariadne
|
|
32
66
|
# @param attributes [Hash] <%= link_to_attributes_docs %>
|
33
67
|
def initialize(
|
34
68
|
tag: DEFAULT_TAG,
|
69
|
+
href:,
|
35
70
|
classes: "",
|
36
71
|
attributes: {},
|
37
|
-
actions_wrapper_classes: ""
|
72
|
+
actions_wrapper_classes: "",
|
73
|
+
actionable: false,
|
74
|
+
link_classes: "",
|
75
|
+
link_attributes: {}
|
38
76
|
)
|
39
77
|
@tag = check_incoming_tag(DEFAULT_TAG, tag)
|
78
|
+
@href = href
|
40
79
|
@classes = merge_class_names(DEFAULT_CLASSES[:wrapper], classes)
|
41
80
|
@attributes = DEFAULT_ATTRIBUTES[:wrapper].merge(attributes)
|
42
81
|
@actions_wrapper_classes = merge_class_names(DEFAULT_CLASSES[:actions_wrapper], actions_wrapper_classes)
|
82
|
+
|
83
|
+
@link_classes = merge_class_names(DEFAULT_CLASSES[:link], link_classes)
|
84
|
+
@link_attributes = DEFAULT_ATTRIBUTES[:link].merge(link_attributes)
|
85
|
+
@actionable = actionable
|
43
86
|
end
|
44
87
|
end
|
45
88
|
end
|
@@ -59,7 +59,7 @@ module Ariadne
|
|
59
59
|
"data-options-toggleable-value": toggleable_options,
|
60
60
|
"data-toggleable-close-on-outside-click-value": close_on_outside_click,
|
61
61
|
"data-toggleable-state-value": initially_open,
|
62
|
-
|
62
|
+
"aria-multiselectable": !single_selection,
|
63
63
|
})
|
64
64
|
.merge(attributes)
|
65
65
|
|
@@ -31,8 +31,8 @@ export default class OptionsController extends SyncedBooleanAttributesController
|
|
31
31
|
readonly isMultiValue: boolean;
|
32
32
|
readonly toggleableValue: boolean;
|
33
33
|
optionTargetLookup: Map<Element, TOptionKey>;
|
34
|
-
connect(): void;
|
35
34
|
select(event: Event, updateTo?: TOutletChangeData<TActiveOptions>): void;
|
35
|
+
optionsTargetConnected(element: Element): void;
|
36
36
|
getValueForElement(element: Element): boolean | null;
|
37
37
|
getState(): TActiveOptions;
|
38
38
|
outletUpdate: (event: Event, updateTo?: TOutletChangeData<TActiveOptions>) => void;
|
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
3
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
5
5
|
};
|
6
|
-
var _OptionsController_instances, _OptionsController_shouldChangeState,
|
6
|
+
var _OptionsController_instances, _OptionsController_shouldChangeState, _OptionsController_activateKey, _OptionsController_deactivateKey, _OptionsController_getElementKey;
|
7
7
|
import SyncedBooleanAttributesController from '../synced_boolean_attributes_controller/synced_boolean_attributes_controller';
|
8
8
|
class OptionsController extends SyncedBooleanAttributesController {
|
9
9
|
constructor() {
|
@@ -12,10 +12,6 @@ class OptionsController extends SyncedBooleanAttributesController {
|
|
12
12
|
this.optionTargetLookup = new Map();
|
13
13
|
this.outletUpdate = this.select;
|
14
14
|
}
|
15
|
-
connect() {
|
16
|
-
__classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_buildActiveTargets).call(this);
|
17
|
-
this.syncElementAttributes();
|
18
|
-
}
|
19
15
|
select(event, updateTo = {}) {
|
20
16
|
var _a;
|
21
17
|
const activeOptions = updateTo.data;
|
@@ -30,11 +26,20 @@ class OptionsController extends SyncedBooleanAttributesController {
|
|
30
26
|
if (shouldChangeState) {
|
31
27
|
const willBeActive = !isCurrentlyActive;
|
32
28
|
this.updateAttributesForElement(target, willBeActive);
|
33
|
-
willBeActive ? __classPrivateFieldGet(this, _OptionsController_instances, "m",
|
29
|
+
willBeActive ? __classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_activateKey).call(this, optionKey) : __classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_deactivateKey).call(this, optionKey);
|
34
30
|
}
|
35
31
|
}
|
36
32
|
this.sendToOutlets(event, Object.assign(Object.assign({}, updateTo), { data: this.activeOptionsValue }));
|
37
33
|
}
|
34
|
+
optionsTargetConnected(element) {
|
35
|
+
const key = __classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_getElementKey).call(this, element);
|
36
|
+
if (this.doesElementHaveOnAttrs(element)) {
|
37
|
+
__classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_activateKey).call(this, key);
|
38
|
+
}
|
39
|
+
else {
|
40
|
+
__classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_deactivateKey).call(this, key);
|
41
|
+
}
|
42
|
+
}
|
38
43
|
getValueForElement(element) {
|
39
44
|
var _a;
|
40
45
|
if (!this.optionTargetLookup.has(element)) {
|
@@ -64,9 +69,9 @@ _OptionsController_instances = new WeakSet(), _OptionsController_shouldChangeSta
|
|
64
69
|
// Was selected and it's active but toggling behavior means it should deactivate
|
65
70
|
// Was selected and it's not on, so it just needs to be turned on
|
66
71
|
return true;
|
67
|
-
},
|
72
|
+
}, _OptionsController_activateKey = function _OptionsController_activateKey(key) {
|
68
73
|
this.activeOptionsValue = Object.assign(Object.assign({}, this.activeOptionsValue), { [key]: true });
|
69
|
-
},
|
74
|
+
}, _OptionsController_deactivateKey = function _OptionsController_deactivateKey(key) {
|
70
75
|
const copy = Object.assign({}, this.activeOptionsValue);
|
71
76
|
delete copy[key];
|
72
77
|
this.activeOptionsValue = copy;
|
@@ -76,21 +81,6 @@ _OptionsController_instances = new WeakSet(), _OptionsController_shouldChangeSta
|
|
76
81
|
return elementValue;
|
77
82
|
}
|
78
83
|
return element.innerText.trim();
|
79
|
-
}, _OptionsController_buildActiveTargets = function _OptionsController_buildActiveTargets() {
|
80
|
-
this.optionTargetLookup = new Map();
|
81
|
-
for (let index in this.optionTargets) {
|
82
|
-
const target = this.optionTargets[index];
|
83
|
-
const optionKey = __classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_getElementKey).call(this, target);
|
84
|
-
this.optionTargetLookup.set(target, optionKey);
|
85
|
-
const onSyncAttr = !!this.syncedAttrsValue.find(attr => target.getAttribute(attr) === 'true');
|
86
|
-
if (onSyncAttr) {
|
87
|
-
__classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_activateIndex).call(this, optionKey);
|
88
|
-
}
|
89
|
-
else {
|
90
|
-
const hasOffAttr = !!this.antiAttrsValue.find(attr => target.getAttribute(attr) === 'false');
|
91
|
-
hasOffAttr && __classPrivateFieldGet(this, _OptionsController_instances, "m", _OptionsController_activateIndex).call(this, optionKey);
|
92
|
-
}
|
93
|
-
}
|
94
84
|
};
|
95
85
|
OptionsController.outlets = SyncedBooleanAttributesController.outlets;
|
96
86
|
OptionsController.targets = ['option'];
|
@@ -31,11 +31,6 @@ export default class OptionsController
|
|
31
31
|
|
32
32
|
optionTargetLookup: Map<Element, TOptionKey> = new Map()
|
33
33
|
|
34
|
-
connect(): void {
|
35
|
-
this.#buildActiveTargets()
|
36
|
-
this.syncElementAttributes()
|
37
|
-
}
|
38
|
-
|
39
34
|
select(event: Event, updateTo: TOutletChangeData<TActiveOptions> = {}) {
|
40
35
|
const activeOptions = updateTo.data
|
41
36
|
for (let index in this.optionTargets) {
|
@@ -51,13 +46,22 @@ export default class OptionsController
|
|
51
46
|
if (shouldChangeState) {
|
52
47
|
const willBeActive = !isCurrentlyActive
|
53
48
|
this.updateAttributesForElement(target, willBeActive)
|
54
|
-
willBeActive ? this.#
|
49
|
+
willBeActive ? this.#activateKey(optionKey) : this.#deactivateKey(optionKey)
|
55
50
|
}
|
56
51
|
}
|
57
52
|
|
58
53
|
this.sendToOutlets(event, {...updateTo, data: this.activeOptionsValue})
|
59
54
|
}
|
60
55
|
|
56
|
+
optionsTargetConnected(element: Element) {
|
57
|
+
const key = this.#getElementKey(element)
|
58
|
+
if (this.doesElementHaveOnAttrs(element)) {
|
59
|
+
this.#activateKey(key)
|
60
|
+
} else {
|
61
|
+
this.#deactivateKey(key)
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
61
65
|
#shouldChangeState(isCurrentlyActive: boolean, wasSelected: boolean) {
|
62
66
|
if (!wasSelected && !isCurrentlyActive) {
|
63
67
|
// Not currently on and wasn't selected, no reason to change
|
@@ -80,11 +84,11 @@ export default class OptionsController
|
|
80
84
|
return true
|
81
85
|
}
|
82
86
|
|
83
|
-
#
|
87
|
+
#activateKey(key: TOptionKey) {
|
84
88
|
this.activeOptionsValue = {...this.activeOptionsValue, [key]: true}
|
85
89
|
}
|
86
90
|
|
87
|
-
#
|
91
|
+
#deactivateKey(key: TOptionKey) {
|
88
92
|
const copy = {...this.activeOptionsValue}
|
89
93
|
delete copy[key]
|
90
94
|
this.activeOptionsValue = copy
|
@@ -99,22 +103,6 @@ export default class OptionsController
|
|
99
103
|
return (element as HTMLElement).innerText.trim()
|
100
104
|
}
|
101
105
|
|
102
|
-
#buildActiveTargets() {
|
103
|
-
this.optionTargetLookup = new Map()
|
104
|
-
for (let index in this.optionTargets) {
|
105
|
-
const target = this.optionTargets[index]
|
106
|
-
const optionKey = this.#getElementKey(target)
|
107
|
-
this.optionTargetLookup.set(target, optionKey)
|
108
|
-
const onSyncAttr = !!this.syncedAttrsValue.find(attr => target.getAttribute(attr) === 'true')
|
109
|
-
if (onSyncAttr) {
|
110
|
-
this.#activateIndex(optionKey)
|
111
|
-
} else {
|
112
|
-
const hasOffAttr = !!this.antiAttrsValue.find(attr => target.getAttribute(attr) === 'false')
|
113
|
-
hasOffAttr && this.#activateIndex(optionKey)
|
114
|
-
}
|
115
|
-
}
|
116
|
-
}
|
117
|
-
|
118
106
|
getValueForElement(element: Element) {
|
119
107
|
if (!this.optionTargetLookup.has(element)) {
|
120
108
|
return null
|
@@ -41,4 +41,5 @@ export default class SyncedBooleanAttributesController<T> extends OutletManagerC
|
|
41
41
|
updateAttributesForElement(element: Element, value: boolean): void;
|
42
42
|
syncElementAttributes(): void;
|
43
43
|
validateAttrChange(dispatchEvent: TStimulusDispatchEvent<TSyncAttrDetail>): void;
|
44
|
+
doesElementHaveOnAttrs(element: Element): boolean;
|
44
45
|
}
|
@@ -95,6 +95,26 @@ class SyncedBooleanAttributesController extends OutletManagerController {
|
|
95
95
|
}
|
96
96
|
}
|
97
97
|
}
|
98
|
+
doesElementHaveOnAttrs(element) {
|
99
|
+
if (this.hasSyncedAttrsValue) {
|
100
|
+
for (let i = 0; i < this.syncedAttrsValue.length; i++) {
|
101
|
+
const attrName = this.syncedAttrsValue[i];
|
102
|
+
if (element.getAttribute(attrName) === 'true') {
|
103
|
+
return true;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
if (this.hasAntiAttrsValue) {
|
108
|
+
for (let i = 0; i < this.antiAttrsValue.length; i++) {
|
109
|
+
const attrName = this.antiAttrsValue[i];
|
110
|
+
const attrValue = element.getAttribute(attrName);
|
111
|
+
if (attrValue === 'false' || (SyncedBooleanAttributesController.removeOnFalseAttrs[attrName] && !attrValue)) {
|
112
|
+
return true;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
}
|
116
|
+
return false;
|
117
|
+
}
|
98
118
|
}
|
99
119
|
_SyncedBooleanAttributesController_instances = new WeakSet(), _SyncedBooleanAttributesController_isSyncedAttr = function _SyncedBooleanAttributesController_isSyncedAttr(attr) {
|
100
120
|
var _a;
|
@@ -131,6 +131,29 @@ export default class SyncedBooleanAttributesController<T> extends OutletManagerC
|
|
131
131
|
}
|
132
132
|
}
|
133
133
|
|
134
|
+
doesElementHaveOnAttrs(element: Element) {
|
135
|
+
if (this.hasSyncedAttrsValue) {
|
136
|
+
for (let i = 0; i < this.syncedAttrsValue.length; i++) {
|
137
|
+
const attrName = this.syncedAttrsValue[i]
|
138
|
+
if (element.getAttribute(attrName) === 'true') {
|
139
|
+
return true
|
140
|
+
}
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
if (this.hasAntiAttrsValue) {
|
145
|
+
for (let i = 0; i < this.antiAttrsValue.length; i++) {
|
146
|
+
const attrName = this.antiAttrsValue[i]
|
147
|
+
const attrValue = element.getAttribute(attrName)
|
148
|
+
if (attrValue === 'false' || (SyncedBooleanAttributesController.removeOnFalseAttrs[attrName] && !attrValue)) {
|
149
|
+
return true
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
|
154
|
+
return false
|
155
|
+
}
|
156
|
+
|
134
157
|
#isSyncedAttr(attr: string) {
|
135
158
|
// Helper function to determine if the attr is synced
|
136
159
|
if (this.syncedAttrsLookup === null) {
|
data/static/constants.json
CHANGED
@@ -1,14 +1,29 @@
|
|
1
1
|
{
|
2
2
|
"Ariadne::ActionCardComponent": {
|
3
|
+
"DEFAULT_ACTION_TAG": "a",
|
3
4
|
"DEFAULT_ATTRIBUTES": {
|
4
5
|
"wrapper": {
|
6
|
+
},
|
7
|
+
"link": {
|
8
|
+
},
|
9
|
+
"icon": {
|
10
|
+
},
|
11
|
+
"title": {
|
12
|
+
},
|
13
|
+
"action": {
|
5
14
|
}
|
6
15
|
},
|
7
16
|
"DEFAULT_CLASSES": {
|
8
|
-
"wrapper": "ariadne-w-
|
9
|
-
"actions_wrapper": "ariadne-flex"
|
10
|
-
|
17
|
+
"wrapper": "ariadne-overflow-hidden ariadne-w-96 ariadne-rounded-lg ariadne-mr-4 [&:last]:ariadne-mr-0",
|
18
|
+
"actions_wrapper": "ariadne-flex ariadne-w-full",
|
19
|
+
"icon": "",
|
20
|
+
"link": "ariadne-flex ariadne-flex-col ariadne-items-center",
|
21
|
+
"title": "ariadne-text-center ariadne-mb-4 ariadne-text-xl ariadne-font-bold",
|
22
|
+
"action": "ariadne-w-full ariadne-flex ariadne-items-center ariadne-justify-center ariadne-py-6 ariadne-text-sm"
|
23
|
+
},
|
24
|
+
"DEFAULT_ICON_TAG": "svg",
|
11
25
|
"DEFAULT_TAG": "div",
|
26
|
+
"DEFAULT_TITLE_TAG": "h3",
|
12
27
|
"TAG_OPTIONS": [
|
13
28
|
"div"
|
14
29
|
]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ariadne_view_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.51
|
5
5
|
platform: arm64-darwin
|
6
6
|
authors:
|
7
7
|
- Garen J. Torikian
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06-
|
11
|
+
date: 2023-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tailwind_merge
|
@@ -111,6 +111,7 @@ files:
|
|
111
111
|
- CHANGELOG.md
|
112
112
|
- LICENSE.txt
|
113
113
|
- README.md
|
114
|
+
- app/assets/builds/ariadne_view_components.css
|
114
115
|
- app/assets/javascripts/ariadne_view_components.js
|
115
116
|
- app/assets/javascripts/ariadne_view_components.js.map
|
116
117
|
- app/assets/javascripts/components/ariadne/accumulator_controller/accumulator_controller.d.ts
|
@@ -341,7 +342,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
341
342
|
- !ruby/object:Gem::Version
|
342
343
|
version: '0'
|
343
344
|
requirements: []
|
344
|
-
rubygems_version: 3.4.
|
345
|
+
rubygems_version: 3.4.15
|
345
346
|
signing_key:
|
346
347
|
specification_version: 4
|
347
348
|
summary: ViewComponents for the Ariadne Design System
|