killbill-aviate 2.3.0.pre.1 → 2.3.0.pre.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 739fc78e3a730813dbd298c5510e7fe1e37ea99e74ff61e097e4dab58908637b
4
- data.tar.gz: c6561964d12e49441049e59adb9d0d7d770f09907b9e53c46a96170e19adb288
3
+ metadata.gz: cad7d7ad9fbd416727efbf8cd89c7b78c294d0ba75f6b09706930263ced1d90b
4
+ data.tar.gz: 2aec33e559117d4334cee70cf7d5066adc0d5af93a5040e0cc434451517fce72
5
5
  SHA512:
6
- metadata.gz: fea6ddfece26d879ef262a472c356168cb23972e1db59715fe3ae353fa5d861eca42710415d568b06e38417c5cdce05a9680040ee7ca8788b80381f14579663b
7
- data.tar.gz: c01c55eb6e4ecb3f69a7ed717141828374e496f3d618a6bdf5a8375328532edbd004f807de78b0838f6ec36624739855029c20781d8ab2f5b67402792d58da86
6
+ metadata.gz: be61ac59ce877a5a9ccd23c9e6b7189c9c33a64a76a58b2f95de27f8a3b0a2413be903d04d2a713142e137f4a9db333e517b8ce7cb196d8db5a87cbceaba3796
7
+ data.tar.gz: 4a15207d48327e1ca9e5f567890afb74ad38142ca685f8b416ee55bb7f045301fde0f2318e11603a95307aaef775f40d5cca0568b4f6d8575c750eff1cad9513
@@ -0,0 +1,12 @@
1
+ // This is a manifest file that'll be compiled into aviate_application.js, which will include all the
2
+ // files listed below.
3
+ //
4
+ // NOTE: this is intentionally NOT named application.js, to avoid colliding with the host app's own
5
+ // application.js manifest (Sprockets would otherwise resolve the logical name 'application' to
6
+ // whichever file is found first on the combined load path, silently dropping this file's requires).
7
+ //
8
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
9
+ // about supported directives.
10
+ //
11
+ //= require aviate/aviate
12
+ //= require assets/common
@@ -14,3 +14,47 @@
14
14
  padding-top: 15px;
15
15
  visibility: hidden;
16
16
  }
17
+
18
+ .wallet-tooltip {
19
+ display: inline-flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ width: 1.5rem;
23
+ margin: 0 0.25rem 0 0.5rem;
24
+ flex-shrink: 0;
25
+ position: relative;
26
+ cursor: help;
27
+ }
28
+
29
+ .wallet-tooltip:hover::after,
30
+ .wallet-tooltip:focus::after {
31
+ content: attr(data-tooltip);
32
+ display: block;
33
+ position: absolute;
34
+ bottom: calc(100% + 8px);
35
+ right: 0;
36
+ background: #333;
37
+ color: #fff;
38
+ padding: 6px 10px;
39
+ border-radius: 4px;
40
+ font-size: 12px;
41
+ line-height: 1.4;
42
+ width: 280px;
43
+ white-space: normal;
44
+ text-align: left;
45
+ z-index: 1050;
46
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
47
+ pointer-events: none;
48
+ }
49
+
50
+ .wallet-tooltip:hover::before,
51
+ .wallet-tooltip:focus::before {
52
+ content: '';
53
+ position: absolute;
54
+ bottom: calc(100% + 3px);
55
+ right: 0.5rem;
56
+ border: 5px solid transparent;
57
+ border-top-color: #333;
58
+ z-index: 1051;
59
+ pointer-events: none;
60
+ }
@@ -0,0 +1,14 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into aviate_application.css, which will include all the
3
+ * files listed below.
4
+ *
5
+ * NOTE: this is intentionally NOT named application.css. Host applications that mount this engine
6
+ * typically ship their own application.css manifest, and Sprockets resolves the logical asset name
7
+ * 'application' to whichever file is found first on the combined load path (usually the host app's).
8
+ * That silently drops these styles. Keeping this file namespaced ensures aviate/layouts/aviate_application
9
+ * always links to the right compiled asset regardless of the host app's own manifests.
10
+ *
11
+ *= require_self
12
+ *= require aviate/aviate
13
+ *= require assets/common
14
+ */
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <title>Aviate</title>
5
5
  <%= yield :scripts %>
6
- <%= stylesheet_link_tag 'application', :media => 'all' %>
7
- <%= javascript_include_tag 'application' %>
6
+ <%= stylesheet_link_tag 'aviate_application', :media => 'all' %>
7
+ <%= javascript_include_tag 'aviate_application' %>
8
8
  <%= csrf_meta_tags %>
9
9
  </head>
10
10
  <body>
@@ -1,3 +1,49 @@
1
+ <style>
2
+ .wallet-tooltip {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ width: 1.5rem;
7
+ margin: 0 0.25rem 0 0.5rem;
8
+ flex-shrink: 0;
9
+ position: relative;
10
+ cursor: help;
11
+ }
12
+
13
+ .wallet-tooltip:hover::after,
14
+ .wallet-tooltip:focus::after {
15
+ content: attr(data-tooltip);
16
+ display: block;
17
+ position: absolute;
18
+ bottom: calc(100% + 8px);
19
+ right: 0;
20
+ background: #333;
21
+ color: #fff;
22
+ padding: 6px 10px;
23
+ border-radius: 4px;
24
+ font-size: 12px;
25
+ line-height: 1.4;
26
+ width: 280px;
27
+ white-space: normal;
28
+ text-align: left;
29
+ z-index: 1050;
30
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
31
+ pointer-events: none;
32
+ }
33
+
34
+ .wallet-tooltip:hover::before,
35
+ .wallet-tooltip:focus::before {
36
+ content: '';
37
+ position: absolute;
38
+ bottom: calc(100% + 3px);
39
+ right: 0.5rem;
40
+ border: 5px solid transparent;
41
+ border-top-color: #333;
42
+ z-index: 1051;
43
+ pointer-events: none;
44
+ }
45
+ </style>
46
+
1
47
  <%= form_tag @wallet ? aviate_engine.top_off_config_account_wallet_path(@account.account_id, @wallet[:wallet_id]) : aviate_engine.account_wallets_path(@account.account_id), :class => 'form-horizontal', :method => :post, :multipart => true do %>
2
48
  <%= hidden_field_tag :account_id, @account.account_id %>
3
49
  <%= hidden_field_tag :wallet_id, @wallet[:wallet_id] if @wallet %>
@@ -14,24 +60,27 @@
14
60
  <div class="form-group d-flex pb-3">
15
61
  <%= label_tag :credit_type, 'Credit Type', :class => 'col-sm-3 control-label' %>
16
62
  <div class="col-sm-9">
17
- <%= select_tag :credit_type,
18
- options_for_select(['CREDIT_PAID', 'CREDIT_FREE'], @wallet.try(:[], :credit_type)),
63
+ <%= select_tag :credit_type,
64
+ options_for_select(['CREDIT_PAID', 'CREDIT_FREE'], @wallet.try(:[], :credit_type)),
19
65
  :class => 'form-control',
20
66
  :disabled => local_assigns[:readonly],
21
67
  required: true %>
22
68
  </div>
69
+ <span class="wallet-tooltip" data-tooltip="Identifies the source or purpose of the credit. Use CREDIT_PAID for purchased credits or CREDIT_FREE for promotional credits."><i class="fa fa-info-circle text-muted"></i></span>
23
70
  </div>
24
71
  <div class="form-group d-flex pb-3">
25
72
  <%= label_tag :amount, 'Amount', :class => 'col-sm-3 control-label' %>
26
73
  <div class="col-sm-9">
27
74
  <%= number_field_tag :amount, @wallet.try(:[], :amount), :class => 'form-control', :step => '0.01', :min => '0', required: true %>
28
75
  </div>
76
+ <span class="wallet-tooltip" tabindex="0" aria-label="The amount of credit to add to the wallet when it is created." data-tooltip="The amount of credit to add to the wallet when it is created."><i class="fa fa-info-circle text-muted"></i></span>
29
77
  </div>
30
78
  <div class="form-group d-flex pb-3">
31
79
  <%= label_tag :exp_date, 'Expiration Date', :class => 'col-sm-3 control-label' %>
32
80
  <div class="col-sm-9">
33
- <%= date_field_tag :exp_date, @wallet.try(:[], :exp_date), class: 'form-control', id: 'exp_date_input', required: true %>
81
+ <%= date_field_tag :exp_date, @wallet.try(:[], :exp_date), class: 'form-control', id: 'exp_date_input' %>
34
82
  </div>
83
+ <span class="wallet-tooltip" data-tooltip="Optional. The date after which the initial credit can no longer be used. Leave blank if the credit should never expire."><i class="fa fa-info-circle text-muted"></i></span>
35
84
  </div>
36
85
  <% end %>
37
86
 
@@ -39,40 +88,45 @@
39
88
  <div class="form-group d-flex pb-3">
40
89
  <%= label_tag :top_off_type, 'Top Off Type', :class => 'col-sm-3 control-label' %>
41
90
  <div class="col-sm-9">
42
- <%= select_tag :top_off_type,
43
- options_for_select(['TOP_OFF_FIXED', 'TOP_OFF_TARGET'], @wallet.try(:[], :top_off_type)),
91
+ <%= select_tag :top_off_type,
92
+ options_for_select(['TOP_OFF_FIXED', 'TOP_OFF_TARGET'], @wallet.try(:[], :top_off_type)),
44
93
  :class => 'form-control',
45
94
  :disabled => local_assigns[:readonly],
46
95
  required: true %>
47
96
  </div>
97
+ <span class="wallet-tooltip" data-tooltip="Defines how credits are replenished when the wallet balance falls below the Low Water Mark. Use TOP_OFF_FIXED to add a fixed amount of credit, or TOP_OFF_TARGET to restore the balance to a specified target amount."><i class="fa fa-info-circle text-muted"></i></span>
48
98
  </div>
49
99
  <div class="form-group d-flex pb-3">
50
100
  <%= label_tag :low_watermark, 'Low Water Mark', :class => 'col-sm-3 control-label' %>
51
101
  <div class="col-sm-9">
52
102
  <%= text_field_tag :low_watermark, @wallet.try(:[], :low_watermark), :class => 'form-control', required: true %>
53
103
  </div>
104
+ <span class="wallet-tooltip" data-tooltip="The minimum wallet balance that triggers an automatic top-up. When the balance drops below this value, additional credit is added automatically."><i class="fa fa-info-circle text-muted"></i></span>
54
105
  </div>
55
106
  <div class="form-group d-flex pb-3">
56
107
  <%= label_tag :top_off_amount, 'Amount', :class => 'col-sm-3 control-label' %>
57
108
  <div class="col-sm-9">
58
109
  <%= number_field_tag :top_off_amount, @wallet.try(:[], :top_off_amount), :class => 'form-control', :step => '0.01', :min => '0', required: true %>
59
110
  </div>
111
+ <span class="wallet-tooltip" data-tooltip="The amount of credit added during an automatic top-up."><i class="fa fa-info-circle text-muted"></i></span>
60
112
  </div>
61
113
  <div class="form-group d-flex pb-3">
62
114
  <%= label_tag :exp_duration_unit, 'Expiration Duration Unit', :class => 'col-sm-3 control-label pe-3' %>
63
115
  <div class="col-sm-9">
64
- <%= select_tag :exp_duration_unit,
65
- options_for_select(['DAYS', 'WEEKS', 'MONTHS', 'YEARS'], @wallet.try(:[], :exp_duration_unit)),
116
+ <%= select_tag :exp_duration_unit,
117
+ options_for_select(['DAYS', 'WEEKS', 'MONTHS', 'YEARS'], @wallet.try(:[], :exp_duration_unit)),
66
118
  :class => 'form-control',
67
119
  :disabled => local_assigns[:readonly],
68
120
  required: true %>
69
121
  </div>
122
+ <span class="wallet-tooltip" data-tooltip="The time unit used when calculating the expiration period for credits added through automatic top-ups."><i class="fa fa-info-circle text-muted"></i></span>
70
123
  </div>
71
124
  <div class="form-group d-flex pb-4">
72
125
  <%= label_tag :exp_duration_length, 'Expiration Duration Length', :class => 'col-sm-3 control-label' %>
73
126
  <div class="col-sm-9">
74
127
  <%= number_field_tag :exp_duration_length, @wallet.try(:[], :exp_duration_length), :class => 'form-control', required: true %>
75
128
  </div>
129
+ <span class="wallet-tooltip" data-tooltip="Duration length for credit expiration from the time of issuance."><i class="fa fa-info-circle text-muted"></i></span>
76
130
  </div>
77
131
 
78
132
  <div class="form-group d-flex justify-content-end pt-3 border-top">
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aviate
4
- VERSION = '2.3.0.pre.1'
4
+ VERSION = '2.3.0.pre.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-aviate
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0.pre.1
4
+ version: 2.3.0.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kill Bill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-08 00:00:00.000000000 Z
11
+ date: 2026-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: killbill-assets-ui
@@ -76,10 +76,10 @@ files:
76
76
  - README.md
77
77
  - Rakefile
78
78
  - app/assets/config/aviate_manifest.js
79
- - app/assets/javascripts/application.js
80
79
  - app/assets/javascripts/aviate/aviate.js
81
- - app/assets/stylesheets/application.css
80
+ - app/assets/javascripts/aviate_application.js
82
81
  - app/assets/stylesheets/aviate/aviate.css
82
+ - app/assets/stylesheets/aviate_application.css
83
83
  - app/controllers/aviate/configuration_controller.rb
84
84
  - app/controllers/aviate/engine_controller.rb
85
85
  - app/controllers/aviate/wallets_controller.rb
@@ -1,14 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require aviate/aviate
14
- //= require assets/common
@@ -1,16 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any styles
10
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
- * file per style scope.
12
- *
13
- *= require_self
14
- *= require aviate/aviate
15
- *= require assets/common
16
- */