killbill-avatax 3.0.5 → 4.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d2c119f339bf5e497b00faff1b9d6268614152dc256361706d20f38fd06c37b
4
- data.tar.gz: 38f6bfe60bc3d54bb5151918e109583fe87dc5e4109156e03f9e87b3d6eda18a
3
+ metadata.gz: 395717b358719e10e5e7e10eb99d6313281670d1818c5db7392dc8b46d7164fe
4
+ data.tar.gz: d8dd8f265f238ba0fe58b7cc59760d4186779648c783fb5941cef8e0ef1bed2f
5
5
  SHA512:
6
- metadata.gz: 43a9d0e1eab8c0b80c71435675ede4ad4f63659571190bb651c36ddcbb58c4a260d5b7764faaaa825023fe8868a6d0b7b72a523205f793802a72eb877609d5a8
7
- data.tar.gz: 960dc11dc6d2a56d16e289d501f01f2c01944ae40d49f8a6a359849203a527b7662856d21594f17f747c5d5b15b81656450418363547301c734e7d06ff688127
6
+ metadata.gz: f8d8eb2e3cd1e1ee184ac6ff9ef1388523d79ae310e52aa7c58f8496b7eec30ef4c049f932cc6768a60d810712d55273eec80c36b5a3f1c1083edf387486b937
7
+ data.tar.gz: 65436084b9d935d6bc673e4641729a8c5259d62555e36e349880ca49e1751afa1626cf9e21cfe400c567b0fb5b9d331515b56d229ec0d2e2dc99d84a44f41b76
@@ -0,0 +1,3 @@
1
+ <svg class="sort-icon sort-desc" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" role="img" aria-label="sort descending">
2
+ <path d="M3 6.5L6 9.5L9 6.5" stroke="#A4A7AE" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg class="sort-icon sort-asc" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" role="img" aria-label="sort ascending">
2
+ <path d="M3 5.5L6 2.5L9 5.5" stroke="#A4A7AE" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -1,20 +1,36 @@
1
1
  <%= form_tag do_set_exemption_configuration_path, :class => 'form-horizontal' do %>
2
- <div class="form-group">
3
- <%= label_tag :account_id, 'Account ID', :class => 'col-sm-2 control-label' %>
2
+ <div class="form-group d-flex pb-3">
3
+ <%= label_tag :account_id, 'Account ID', :class => 'col-sm-3 control-label' %>
4
4
 
5
- <div class="col-sm-10">
5
+ <div class="col-sm-9">
6
6
  <%= text_field_tag :account_id, nil, :class => 'form-control' %>
7
7
  </div>
8
8
  </div>
9
- <div class="form-group">
10
- <%= label_tag :customer_usage_type, 'Customer Usage Type', :class => 'col-sm-2 control-label' %>
11
- <div class="col-sm-10">
9
+ <div class="form-group d-flex pb-3 border-bottom mb-3">
10
+ <%= label_tag :customer_usage_type, 'Customer Usage Type', :class => 'col-sm-3 control-label' %>
11
+ <div class="col-sm-9">
12
12
  <%= text_field_tag :customer_usage_type, nil, :class => 'form-control' %>
13
13
  </div>
14
14
  </div>
15
- <div class="form-group">
16
- <div class="col-sm-offset-2 col-sm-10">
17
- <%= submit_tag 'Save', :class => 'btn btn-default' %>
18
- </div>
15
+ <div class="form-group d-flex justify-content-end pb-3">
16
+ <%= render "kaui/components/button/button", {
17
+ label: 'Close',
18
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
19
+ type: "button",
20
+ html_class: "kaui-button custom-hover mx-2",
21
+ html_options: {
22
+ id: "closeButton",
23
+ onclick: "window.history.back();"
24
+ }
25
+ } %>
26
+ <%= render "kaui/components/button/button", {
27
+ label: 'Save',
28
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
29
+ type: "submit",
30
+ html_class: "kaui-dropdown custom-hover",
31
+ html_options: {
32
+ id: "saveButton"
33
+ }
34
+ } %>
19
35
  </div>
20
36
  <% end %>
@@ -1,8 +1,29 @@
1
- <table id="exemptions-table" class="table table-condensed table-striped mobile-data">
1
+ <table id="exemptions-table" class="configuration-table">
2
+ <colgroup>
3
+ <col style="width: 45%">
4
+ <col style="width: 45%">
5
+ <col style="width: 10%">
6
+ </colgroup>
2
7
  <thead>
3
8
  <tr>
4
- <th>Account ID</th>
5
- <th>Customer Usage Type</th>
9
+ <th class="sortable-header" data-column="0">
10
+ <div class="header-content">
11
+ <span class="header-text">Account ID</span>
12
+ <div class="sort-icons">
13
+ <%= image_tag "avatax/sort-up.svg", class: "sort-icon sort-asc" %>
14
+ <%= image_tag "avatax/sort-down.svg", class: "sort-icon sort-desc" %>
15
+ </div>
16
+ </div>
17
+ </th>
18
+ <th class="sortable-header" data-column="1">
19
+ <div class="header-content">
20
+ <span class="header-text">Customer Usage Type</span>
21
+ <div class="sort-icons">
22
+ <%= image_tag "avatax/sort-up.svg", class: "sort-icon sort-asc" %>
23
+ <%= image_tag "avatax/sort-down.svg", class: "sort-icon sort-desc" %>
24
+ </div>
25
+ </div>
26
+ </th>
6
27
  <th></th>
7
28
  </tr>
8
29
  </thead>
@@ -12,7 +33,7 @@
12
33
  <td><%= exemption[:account_id] %></td>
13
34
  <td><%= exemption[:customer_usage_type] %></td>
14
35
  <td>
15
- <%= link_to '<i class="fa fa-times"></i>'.html_safe, remove_exemption_configuration_path(:account_id => exemption[:account_id]), :method => :delete %>
36
+ <%= link_to 'Remove'.html_safe, remove_exemption_configuration_path(:account_id => exemption[:account_id]), :method => :delete %>
16
37
  </td>
17
38
  </tr>
18
39
  <% end %>
@@ -24,11 +45,30 @@
24
45
  $('#exemptions-table').dataTable({
25
46
  "dom": "t",
26
47
  "paging": false,
48
+ "ordering": true,
27
49
  "columns": [
28
50
  null,
29
51
  null,
30
52
  { "orderable": false }
31
53
  ]
32
54
  });
55
+ var exemptionsTable = $('#exemptions-table').DataTable();
56
+
57
+ $('#exemptions-table thead').on('click', 'th.sortable-header, th.sortable-header *', function(e) {
58
+ var th = $(this).closest('th');
59
+ var columnIndex = parseInt(th.data('column'), 10);
60
+ var currentOrder = exemptionsTable.order();
61
+ var direction = 'asc';
62
+
63
+ if (currentOrder.length && currentOrder[0][0] === columnIndex) {
64
+ direction = currentOrder[0][1] === 'asc' ? 'desc' : 'asc';
65
+ }
66
+
67
+ exemptionsTable.order([columnIndex, direction]).draw();
68
+
69
+ // Update icon state
70
+ $('#exemptions-table thead th .sort-icon').removeClass('active');
71
+ th.find('.sort-' + (direction === 'asc' ? 'asc' : 'desc')).addClass('active');
72
+ });
33
73
  });
34
74
  <% end %>
@@ -1,24 +1,24 @@
1
1
  <%= form_tag update_plugin_configuration_path, :class => 'form-horizontal' do %>
2
- <div class="form-group">
3
- <%= label_tag :account_id, 'Account ID', :class => 'col-sm-2 control-label', :data => {:toggle=>"popover", :trigger=> "hover", :content=> "Your AvaTax account number"} %>
4
- <div class="col-sm-10">
2
+ <div class="form-group d-flex pb-3">
3
+ <%= label_tag :account_id, 'Account ID', :class => 'col-sm-3 control-label', :data => {:toggle=>"popover", :trigger=> "hover", :content=> "Your AvaTax account number"} %>
4
+ <div class="col-sm-9">
5
5
  <%= text_field_tag :account_id, @configuration[:account_id], :class => 'form-control', :required => true %>
6
6
  </div>
7
7
  </div>
8
- <div class="form-group">
9
- <%= label_tag :license_key, 'License key', :class => 'col-sm-2 control-label', :data => {:toggle=>"popover", :trigger=> "hover", :content=> "Your AvaTax license key"} %>
10
- <div class="col-sm-10">
8
+ <div class="form-group d-flex pb-3">
9
+ <%= label_tag :license_key, 'License key', :class => 'col-sm-3 control-label', :data => {:toggle=>"popover", :trigger=> "hover", :content=> "Your AvaTax license key"} %>
10
+ <div class="col-sm-9">
11
11
  <%= text_field_tag :license_key, @configuration[:license_key], :class => 'form-control', :required => true %>
12
12
  </div>
13
13
  </div>
14
- <div class="form-group">
15
- <%= label_tag :company_code, 'Company code', :class => 'col-sm-2 control-label', :data => {:toggle=>"popover", :trigger=> "hover", :content=> "Your company code"} %>
16
- <div class="col-sm-10">
14
+ <div class="form-group d-flex pb-3">
15
+ <%= label_tag :company_code, 'Company code', :class => 'col-sm-3 control-label', :data => {:toggle=>"popover", :trigger=> "hover", :content=> "Your company code"} %>
16
+ <div class="col-sm-9">
17
17
  <%= text_field_tag :company_code, @configuration[:company_code], :class => 'form-control', :required => true %>
18
18
  </div>
19
19
  </div>
20
- <div class="form-group">
21
- <div class="col-sm-offset-2 col-sm-10">
20
+ <div class="form-group d-flex justify-content-end pb-3 border-bottom mb-3">
21
+ <div class="col-sm-9">
22
22
  <div class="checkbox">
23
23
  <%= label_tag :commit_documents, 'Commit documents', :class => 'control-label' do %>
24
24
  <%= check_box_tag :commit_documents, '1', @configuration[:commit_documents] %>Commit documents?
@@ -26,10 +26,23 @@
26
26
  </div>
27
27
  </div>
28
28
  </div>
29
- <div class="form-group">
30
- <div class="col-sm-offset-2 col-sm-10">
31
- <%= submit_tag 'Save', :class => 'btn btn-default' %>
32
- </div>
29
+ <div class="form-group d-flex justify-content-end pb-3">
30
+ <%= render "kaui/components/button/button", {
31
+ label: 'Close',
32
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
33
+ type: "button",
34
+ html_class: "kaui-button custom-hover mx-2",
35
+ html_options: {
36
+ id: "closeButton",
37
+ onclick: "window.history.back();"
38
+ }
39
+ } %>
40
+ <%= render "kaui/components/button/button", {
41
+ label: 'Save',
42
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
43
+ type: "submit",
44
+ html_class: "kaui-dropdown custom-hover",
45
+ } %>
33
46
  </div>
34
47
  <% end %>
35
48
 
@@ -1,20 +1,36 @@
1
1
  <%= form_tag do_set_tax_code_configuration_path, :class => 'form-horizontal' do %>
2
- <div class="form-group">
3
- <%= label_tag :product_name, 'Product name', :class => 'col-sm-2 control-label' %>
2
+ <div class="form-group d-flex pb-3">
3
+ <%= label_tag :product_name, 'Product name', :class => 'col-sm-3 control-label' %>
4
4
 
5
- <div class="col-sm-10">
5
+ <div class="col-sm-9">
6
6
  <%= select_tag :product_name, options_for_select(@products), :class => 'form-control' %>
7
7
  </div>
8
8
  </div>
9
- <div class="form-group">
10
- <%= label_tag :tax_code, 'Tax code', :class => 'col-sm-2 control-label' %>
11
- <div class="col-sm-10">
9
+ <div class="form-group d-flex pb-3 border-bottom mb-3">
10
+ <%= label_tag :tax_code, 'Tax code', :class => 'col-sm-3 control-label' %>
11
+ <div class="col-sm-9">
12
12
  <%= text_field_tag :tax_code, nil, :class => 'form-control' %>
13
13
  </div>
14
14
  </div>
15
- <div class="form-group">
16
- <div class="col-sm-offset-2 col-sm-10">
17
- <%= submit_tag 'Save', :class => 'btn btn-default' %>
18
- </div>
15
+ <div class="form-group d-flex justify-content-end pb-3">
16
+ <%= render "kaui/components/button/button", {
17
+ label: 'Close',
18
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
19
+ type: "button",
20
+ html_class: "kaui-button custom-hover mx-2",
21
+ html_options: {
22
+ id: "closeButton",
23
+ onclick: "window.history.back();"
24
+ }
25
+ } %>
26
+ <%= render "kaui/components/button/button", {
27
+ label: 'Save',
28
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
29
+ type: "submit",
30
+ html_class: "kaui-dropdown custom-hover",
31
+ html_options: {
32
+ id: "saveButton"
33
+ }
34
+ } %>
19
35
  </div>
20
36
  <% end %>
@@ -1,8 +1,29 @@
1
- <table id="products-table" class="table table-condensed table-striped mobile-data">
1
+ <table id="products-table" class="configuration-table">
2
+ <colgroup>
3
+ <col style="width: 45%">
4
+ <col style="width: 45%">
5
+ <col style="width: 10%">
6
+ </colgroup>
2
7
  <thead>
3
8
  <tr>
4
- <th>Product name</th>
5
- <th>Tax code</th>
9
+ <th class="sortable-header" data-column="0">
10
+ <div class="header-content">
11
+ <span class="header-text">Product name</span>
12
+ <div class="sort-icons">
13
+ <%= image_tag "avatax/sort-up.svg", class: "sort-icon sort-asc" %>
14
+ <%= image_tag "avatax/sort-down.svg", class: "sort-icon sort-desc" %>
15
+ </div>
16
+ </div>
17
+ </th>
18
+ <th class="sortable-header" data-column="1">
19
+ <div class="header-content">
20
+ <span class="header-text">Tax code</span>
21
+ <div class="sort-icons">
22
+ <%= image_tag "avatax/sort-up.svg", class: "sort-icon sort-asc" %>
23
+ <%= image_tag "avatax/sort-down.svg", class: "sort-icon sort-desc" %>
24
+ </div>
25
+ </div>
26
+ </th>
6
27
  <th></th>
7
28
  </tr>
8
29
  </thead>
@@ -12,7 +33,7 @@
12
33
  <td><%= tax_code[:productName] %></td>
13
34
  <td><%= tax_code[:taxCode] %></td>
14
35
  <td>
15
- <%= link_to '<i class="fa fa-times"></i>'.html_safe, remove_tax_code_configuration_path(:product_name => tax_code[:productName]), :method => :delete %>
36
+ <%= link_to 'Remove'.html_safe, remove_tax_code_configuration_path(:product_name => tax_code[:productName]), :method => :delete %>
16
37
  </td>
17
38
  </tr>
18
39
  <% end %>
@@ -24,11 +45,30 @@
24
45
  $('#products-table').dataTable({
25
46
  "dom": "t",
26
47
  "paging": false,
48
+ "ordering": true,
27
49
  "columns": [
28
50
  null,
29
51
  null,
30
52
  { "orderable": false }
31
53
  ]
32
54
  });
55
+ var productsTable = $('#products-table').DataTable();
56
+
57
+ $('#products-table thead').on('click', 'th.sortable-header, th.sortable-header *', function(e) {
58
+ var th = $(this).closest('th');
59
+ var columnIndex = parseInt(th.data('column'), 10);
60
+ var currentOrder = productsTable.order();
61
+ var direction = 'asc';
62
+
63
+ if (currentOrder.length && currentOrder[0][0] === columnIndex) {
64
+ direction = currentOrder[0][1] === 'asc' ? 'desc' : 'asc';
65
+ }
66
+
67
+ productsTable.order([columnIndex, direction]).draw();
68
+
69
+ // Update icon state
70
+ $('#products-table thead th .sort-icon').removeClass('active');
71
+ th.find('.sort-' + (direction === 'asc' ? 'asc' : 'desc')).addClass('active');
72
+ });
33
73
  });
34
74
  <% end %>
@@ -1,30 +1,77 @@
1
- <div class="search">
2
-
3
- <div class="column-block">
4
-
5
- <h1>Configured products
6
- <%= link_to '&nbsp;<i class="fa fa-plus-square"></i>'.html_safe, set_tax_code_configuration_path %>
7
- </h1>
8
-
9
- <%= render :partial => 'avatax/configuration/products_table', :locals => {:tax_codes => @tax_codes} %>
10
-
1
+ <div class="kaui-container configuration-index">
2
+ <%= render "kaui/components/breadcrumb/breadcrumb" %>
3
+ <div class="d-flex" style="gap: 4rem;">
4
+ <div class="configuration" style="max-width: 80rem;">
5
+ <div class="d-flex flex-column">
6
+ <div class="configuration-header mb-4">
7
+ <div class="d-flex align-items-center">
8
+ <h2>Configured products</h2>
9
+ </div>
10
+ <span>
11
+ <%= link_to set_tax_code_configuration_path do %>
12
+ <%= render "kaui/components/button/button", {
13
+ label: "Add Product",
14
+ icon: "kaui/plus.svg",
15
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
16
+ type: "button",
17
+ html_class: "kaui-dropdown custom-hover",
18
+ } %>
19
+ <% end %>
20
+ </span>
21
+ </div>
22
+ <%= render :partial => 'avatax/configuration/products_table', :locals => {:tax_codes => @tax_codes} %>
23
+ </div>
24
+ </div>
11
25
  </div>
26
+ </div>
12
27
 
13
- <hr/>
14
-
15
- <div class="column-block">
16
-
17
- <h1>Exempt accounts
18
- <%= link_to '&nbsp;<i class="fa fa-plus-square"></i>'.html_safe, set_exemption_configuration_path %>
19
- </h1>
20
-
21
- <%= render :partial => 'avatax/configuration/exemptions_table', :locals => {:exemptions => @exemptions} %>
22
-
28
+ <div class="kaui-container configuration-index">
29
+ <div class="d-flex" style="gap: 4rem;">
30
+ <div class="configuration" style="max-width: 80rem;">
31
+ <div class="d-flex flex-column">
32
+ <div class="configuration-header mb-4">
33
+ <div class="d-flex align-items-center">
34
+ <h2>Exempt accounts</h2>
35
+ </div>
36
+ <span>
37
+ <%= link_to set_exemption_configuration_path do %>
38
+ <%= render "kaui/components/button/button", {
39
+ label: "Add Exemption",
40
+ icon: "kaui/plus.svg",
41
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
42
+ type: "button",
43
+ html_class: "kaui-dropdown custom-hover",
44
+ } %>
45
+ <% end %>
46
+ </span>
47
+ </div>
48
+ <%= render :partial => 'avatax/configuration/exemptions_table', :locals => {:exemptions => @exemptions} %>
49
+ </div>
50
+ </div>
23
51
  </div>
52
+ </div>
24
53
 
25
-
26
- <hr/>
27
-
28
- <h1><%= link_to 'Plugin configuration', plugin_configuration_path %></h1>
29
-
54
+ <div class="kaui-container configuration-index">
55
+ <div class="d-flex" style="gap: 4rem;">
56
+ <div class="configuration" style="max-width: 80rem;">
57
+ <div class="d-flex flex-column">
58
+ <div class="configuration-header mb-4">
59
+ <div class="d-flex align-items-center">
60
+ <h2>Plugin configuration</h2>
61
+ </div>
62
+ <span>
63
+ <%= link_to plugin_configuration_path do %>
64
+ <%= render "kaui/components/button/button", {
65
+ label: "Update Plugin Configuration",
66
+ icon: "kaui/plus.svg",
67
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
68
+ type: "button",
69
+ html_class: "kaui-dropdown custom-hover",
70
+ } %>
71
+ <% end %>
72
+ </span>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
30
77
  </div>
@@ -1,7 +1,14 @@
1
- <div class="column-block">
2
-
3
- <h1>Plugin configuration</h1>
4
-
5
- <%= render :partial => 'avatax/configuration/plugin_form' %>
6
-
7
- </div>
1
+ <div class="register configure-plugin-configuration-form">
2
+ <div class="mx-auto" style="max-width: 37.5rem;">
3
+ <h5 class="add-account-title">
4
+ <span class="icon-container">
5
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ <path d="M13.3333 5.83333C13.3333 7.67428 11.8409 9.16667 9.99996 9.16667C8.15901 9.16667 6.66663 7.67428 6.66663 5.83333C6.66663 3.99238 8.15901 2.5 9.99996 2.5C11.8409 2.5 13.3333 3.99238 13.3333 5.83333Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
7
+ <path d="M15.8333 15.8332C15.8333 13.532 13.9678 11.6665 11.6666 11.6665H8.33329C6.03211 11.6665 4.16663 13.532 4.16663 15.8332V17.4998H15.8333V15.8332Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
8
+ </svg>
9
+ </span>
10
+ Plugin configuration
11
+ </h5>
12
+ <%= render :partial => 'avatax/configuration/plugin_form' %>
13
+ </div>
14
+ </div>
@@ -1,10 +1,14 @@
1
- <div class="register">
2
- <div class="col-md-8 col-md-offset-2">
3
-
4
- <div class="column-block">
5
- <h1>Set exemption</h1>
1
+ <div class="register configure-exemption-form">
2
+ <div class="mx-auto" style="max-width: 37.5rem;">
3
+ <h5 class="add-account-title">
4
+ <span class="icon-container">
5
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ <path d="M13.3333 5.83333C13.3333 7.67428 11.8409 9.16667 9.99996 9.16667C8.15901 9.16667 6.66663 7.67428 6.66663 5.83333C6.66663 3.99238 8.15901 2.5 9.99996 2.5C11.8409 2.5 13.3333 3.99238 13.3333 5.83333Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
7
+ <path d="M15.8333 15.8332C15.8333 13.532 13.9678 11.6665 11.6666 11.6665H8.33329C6.03211 11.6665 4.16663 13.532 4.16663 15.8332V17.4998H15.8333V15.8332Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
8
+ </svg>
9
+ </span>
10
+ Set exemption
11
+ </h5>
6
12
  <%= render 'exemptions_form' %>
7
- </div>
8
-
9
13
  </div>
10
14
  </div>
@@ -1,10 +1,14 @@
1
- <div class="register">
2
- <div class="col-md-8 col-md-offset-2">
3
-
4
- <div class="column-block">
5
- <h1>Configure product</h1>
1
+ <div class="register configure-product-form">
2
+ <div class="mx-auto" style="max-width: 37.5rem;">
3
+ <h5 class="add-account-title">
4
+ <span class="icon-container">
5
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ <path d="M13.3333 5.83333C13.3333 7.67428 11.8409 9.16667 9.99996 9.16667C8.15901 9.16667 6.66663 7.67428 6.66663 5.83333C6.66663 3.99238 8.15901 2.5 9.99996 2.5C11.8409 2.5 13.3333 3.99238 13.3333 5.83333Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
7
+ <path d="M15.8333 15.8332C15.8333 13.532 13.9678 11.6665 11.6666 11.6665H8.33329C6.03211 11.6665 4.16663 13.532 4.16663 15.8332V17.4998H15.8333V15.8332Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
8
+ </svg>
9
+ </span>
10
+ Configure product
11
+ </h5>
6
12
  <%= render 'products_form' %>
7
- </div>
8
-
9
13
  </div>
10
14
  </div>
@@ -0,0 +1,8 @@
1
+ <%#
2
+ This is a placeholder breadcrumb component for standalone gem usage.
3
+
4
+ This placeholder prevents "missing template" errors when running
5
+ the gem independently during development or testing.
6
+ %>
7
+
8
+ <!-- Breadcrumb placeholder for standalone gem -->
@@ -0,0 +1,8 @@
1
+ <%#
2
+ This is a placeholder button component for standalone gem usage.
3
+
4
+ This placeholder prevents "missing template" errors when running
5
+ the gem independently during development or testing.
6
+ %>
7
+
8
+ <!-- Button placeholder for standalone gem -->
@@ -0,0 +1,8 @@
1
+ <%#
2
+ This is a placeholder breadcrumb component for standalone gem usage.
3
+
4
+ This placeholder prevents "missing template" errors when running
5
+ the gem independently during development or testing.
6
+ %>
7
+
8
+ <!-- Breadcrumb placeholder for standalone gem -->
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avatax
4
- VERSION = '3.0.5'
4
+ VERSION = '4.0.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-avatax
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 4.0.0
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: 2025-04-10 00:00:00.000000000 Z
11
+ date: 2025-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: killbill-assets-ui
@@ -62,6 +62,8 @@ files:
62
62
  - README.md
63
63
  - Rakefile
64
64
  - app/assets/config/avatax_manifest.js
65
+ - app/assets/images/avatax/sort-down.svg
66
+ - app/assets/images/avatax/sort-up.svg
65
67
  - app/assets/javascripts/application.js
66
68
  - app/assets/javascripts/avatax/avatax.js
67
69
  - app/assets/stylesheets/application.css
@@ -79,6 +81,9 @@ files:
79
81
  - app/views/avatax/configuration/set_exemption.html.erb
80
82
  - app/views/avatax/configuration/set_tax_code.html.erb
81
83
  - app/views/avatax/layouts/avatax_application.html.erb
84
+ - app/views/kaui/components/breadcrumb/_breadcrumb.html.erb
85
+ - app/views/kaui/components/button/_button.html.erb
86
+ - app/views/kaui/layouts/kaui_setting_sidebar.html.erb
82
87
  - config/routes.rb
83
88
  - lib/avatax.rb
84
89
  - lib/avatax/client.rb