Compare commits

...

45 Commits

Author SHA1 Message Date
Rachel Arnould
40f3d4df4f Merge pull request #9312 from filipefurtad0/revert_9268_supplier_totals
Splits results per supplier on OC Distributor Totals by Supplier report
2022-06-17 10:53:19 +02:00
Jean-Baptiste Bellet
049620add7 Update all locales with the latest Transifex translations 2022-06-17 09:33:01 +02:00
jibees
d7073c03d0 Merge pull request #9294 from openfoodfoundation/transifex
Transifex
2022-06-17 09:31:17 +02:00
jibees
19b57aa74e Merge pull request #9246 from jibees/9228-do-not-include-shipping-method-in-the-summary-row-for-Order-Cycle-Distributer-Totals-by-Supplier-report
Do not include shipping method in the summary row for the Order Cycle Distributer Totals by Supplier report
2022-06-17 09:30:31 +02:00
jibees
06685fb1c1 Merge pull request #9308 from jibees/update-yarn-lock
Update yarn.lock
2022-06-17 09:30:12 +02:00
filipefurtad0
0a70e091cd Reverts #9268 for supplier totals 2022-06-15 13:50:22 +01:00
Jean-Baptiste Bellet
7f52789dcf Update yarn.lock 2022-06-15 10:26:26 +02:00
jibees
df6e107dd3 Merge pull request #9305 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-docs-6.5.9
Bump @storybook/addon-docs from 6.5.7 to 6.5.9
2022-06-15 09:09:38 +02:00
jibees
64cc6d21f1 Merge pull request #9307 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-controls-6.5.9
Bump @storybook/addon-controls from 6.5.7 to 6.5.9
2022-06-15 09:09:26 +02:00
dependabot[bot]
f04c5bace1 Bump @storybook/addon-controls from 6.5.7 to 6.5.9
Bumps [@storybook/addon-controls](https://github.com/storybookjs/storybook/tree/HEAD/addons/controls) from 6.5.7 to 6.5.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.9/addons/controls)

---
updated-dependencies:
- dependency-name: "@storybook/addon-controls"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-15 06:41:36 +00:00
dependabot[bot]
55f4f54e18 Bump @storybook/addon-docs from 6.5.7 to 6.5.9
Bumps [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/addons/docs) from 6.5.7 to 6.5.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.9/addons/docs)

---
updated-dependencies:
- dependency-name: "@storybook/addon-docs"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-15 06:41:29 +00:00
jibees
95586a0e38 Merge pull request #9306 from openfoodfoundation/dependabot/npm_and_yarn/storybook/server-6.5.9
Bump @storybook/server from 6.5.7 to 6.5.9
2022-06-15 08:40:47 +02:00
dependabot[bot]
d9f82ff619 Bump @storybook/server from 6.5.7 to 6.5.9
Bumps [@storybook/server](https://github.com/storybookjs/storybook/tree/HEAD/app/server) from 6.5.7 to 6.5.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.5.9/app/server)

---
updated-dependencies:
- dependency-name: "@storybook/server"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-14 09:04:50 +00:00
Maikel
e733e9a5f8 Merge pull request #9300 from filipefurtad0/enterprise_factory_logo_promo
Adds optional promo and logo images as traits to the enterprise factory
2022-06-14 09:19:43 +10:00
filipefurtad0
464496befa Adds traits to enterprise_factory and spec 2022-06-13 16:40:55 +01:00
filipefurtad0
9c8756bf42 Makes the spec red: deletes file attachement from assertion 2022-06-13 16:26:09 +01:00
Filipe
ef0a346076 Merge pull request #9212 from jibees/9140-assign-a-customer-to-an-order-in-admin-section
When creating an order, and assigning a customer, fill all the customer inputs in the shipping/billing address form
2022-06-13 14:57:31 +01:00
Filipe
8b7d474f4c Merge pull request #9177 from jibees/9067-save-all-data-when-submitting-the-form
Admin, Create a new product: re-fill the form with fields values if any validation errors occurs when submitting
2022-06-13 14:54:02 +01:00
Transifex-Openfoodnetwork
8b1b9f1460 Updating translations for config/locales/en_GB.yml 2022-06-13 19:54:52 +10:00
Transifex-Openfoodnetwork
0335d8ac4f Updating translations for config/locales/fr_CH.yml 2022-06-11 00:52:56 +10:00
Transifex-Openfoodnetwork
91818a256b Updating translations for config/locales/de_CH.yml 2022-06-11 00:44:06 +10:00
Filipe
9fee4f1554 Merge pull request #9203 from AgriculturaFamiliar/remove-closed-associated-adjustments-button
Remove closed associated adjustments button
2022-06-10 10:10:50 +01:00
Arthur
05c8414e0d Merge branch 'openfoodfoundation:master' into remove-closed-associated-adjustments-button 2022-06-01 16:03:43 -03:00
Jean-Baptiste Bellet
8fec5f1464 Use mixins useRenderCustomer 2022-05-31 09:00:24 +02:00
Jean-Baptiste Bellet
39b7f56e6d Use mixins useSearchCustomer
Prefer composition vs. inheritance
2022-05-31 08:57:11 +02:00
Jean-Baptiste Bellet
454e4a4100 Initialize on_demand checkbox value 2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
70baccd76c Create a method to handle redirect after save
and the get rid of rubocop linter error
2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
72ce2e5598 Initialize display_as 2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
df1b126852 Initialize unit_value_with_description
+ Specify to empty field since its now filled with default value `1.0`
2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
134202bedd Initialize value for variant_unit_with_scale 2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
f6981e4320 Initialize value with ng-model: product.description 2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
c78e734dee Initialize with submitted value on_hand 2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
be0065ad1a Initialize value with @product.price
Co-Authored-By: Maikel <maikel@email.org.au>
2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
68f8413cda Remplace collection_select by select and fill the selected item
+ add tom-select controller
2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
e058cd3e06 Create spec to check that every filled fields must be filled on for submit
when validation errors occurs
2022-05-30 14:54:47 +02:00
Jean-Baptiste Bellet
ec338bca9c Do not include shipping method in the summary row 2022-05-30 11:14:29 +02:00
Arthur Vieira
e0241b6866 Remove test associated without 'unlock' selected
Leaves the other test that should be the default behaviour and renames
it accordingly.
2022-05-26 10:12:39 -03:00
Arthur Vieira
95010fcd12 Remove the unlock condition in shipment controller
This assumes unlock is always true so the shipment's fee adjustments
always opens and closes.
2022-05-26 09:21:48 -03:00
Arthur Vieira
0fb9cc0f2a Remove associated adjustments radio button
Removes the 'Associated Adjustment Closed' options from the order edit
page (/admin/orders/XXXXX/edit).
2022-05-26 09:12:19 -03:00
Jean-Baptiste Bellet
760de3b507 Do not set null value to select controller 2022-05-24 12:35:23 +02:00
Jean-Baptiste Bellet
5e27795a15 Special method to handle customer with no bill_address 2022-05-24 12:30:11 +02:00
Jean-Baptiste Bellet
2c29b1f60f Replace Angular directive and use stimulus controller
+ Update specs as well
2022-05-24 12:30:00 +02:00
Jean-Baptiste Bellet
ce058c6e36 Create a SelectCustomer controller
To be used in `/admin/orders/ORDER_ID/customer` page

 - Fetch `/admin/search/customers.json?` with query as params
 - Render each items response thanks to `renderOption()` method
 - `onItemSelect()` is here to fill the associated form in the page
2022-05-24 12:30:00 +02:00
Jean-Baptiste Bellet
5018f824f5 Prepare tom-select controller to inherit others controllers 2022-05-24 12:30:00 +02:00
Jean-Baptiste Bellet
68cb8d9965 Formatting file 2022-05-24 12:30:00 +02:00
31 changed files with 8818 additions and 399 deletions

View File

@@ -1,62 +0,0 @@
angular.module("admin.orders").directive 'customerSearchOverride', ->
restrict: 'C'
scope:
distributorId: '@'
link: (scope, element, attr) ->
if $('#customer_autocomplete_template').length > 0
customerTemplate = Handlebars.compile($('#customer_autocomplete_template').text())
formatCustomerResult = (customer) ->
customerTemplate
customer: customer
bill_address: customer.bill_address
ship_address: customer.ship_address
element.select2
placeholder: Spree.translations.choose_a_customer
minimumInputLength: 3
ajax:
url: '/admin/search/customers.json'
datatype: 'json'
data: (term, page) ->
{
q: term
distributor_id: scope.distributorId # modified
}
results: (data, page) ->
{ results: data }
dropdownCssClass: 'customer_search'
formatResult: formatCustomerResult
formatSelection: (customer) ->
_.each [
'bill_address'
'ship_address'
], (address) ->
data = customer[address]
address_parts = [
'firstname'
'lastname'
'company'
'address1'
'address2'
'city'
'zipcode'
'phone'
]
attribute_wrapper = '#order_' + address + '_attributes_'
if data # modified
_.each address_parts, (part) ->
$(attribute_wrapper + part).val data[part]
return
$(attribute_wrapper + 'state_id').select2 'val', data['state_id']
$(attribute_wrapper + 'country_id').select2 'val', data['country_id']
else
_.each address_parts, (part) ->
$(attribute_wrapper + part).val ''
return
$(attribute_wrapper + 'state_id').select2 'val', ''
$(attribute_wrapper + 'country_id').select2 'val', ''
return
$('#order_email').val customer.email
$('#user_id').val customer.user_id # modified
customer.email

View File

@@ -8,7 +8,7 @@ angular.module("admin.products")
$scope.processVariantUnitWithScale()
$scope.processUnitValueWithDescription()
$scope.processUnitPrice()
$scope.placeholder_text = new OptionValueNamer($scope.product.master).name()
$scope.placeholder_text = new OptionValueNamer($scope.product.master).name() if $scope.product.variant_unit_scale
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
@@ -21,6 +21,8 @@ angular.module("admin.products")
else
$scope.product.variant_unit = $scope.product.variant_unit_with_scale
$scope.product.variant_unit_scale = null
else if $scope.product.variant_unit && $scope.product.variant_unit_scale
$scope.product.variant_unit_with_scale = VariantUnitManager.getUnitWithScale($scope.product.variant_unit, parseFloat($scope.product.variant_unit_scale))
else
$scope.product.variant_unit = $scope.product.variant_unit_scale = null
@@ -32,6 +34,10 @@ angular.module("admin.products")
$scope.product.master.unit_value = null if isNaN($scope.product.master.unit_value)
$scope.product.master.unit_value *= $scope.product.variant_unit_scale if $scope.product.master.unit_value && $scope.product.variant_unit_scale
$scope.product.master.unit_description = match[3]
else
value = $scope.product.master.unit_value
value /= $scope.product.variant_unit_scale if $scope.product.master.unit_value && $scope.product.variant_unit_scale
$scope.product.master.unit_value_with_description = value + " " + $scope.product.master.unit_description
$scope.processUnitPrice = ->
price = $scope.product.price

View File

@@ -36,10 +36,13 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
options = for unit_type, _ of @units
for scale in @unitScales(unit_type, available)
name = @getUnitName(scale, unit_type)
["#{I18n.t(unit_type)} (#{name})", "#{unit_type}_#{scale}"]
["#{I18n.t(unit_type)} (#{name})", @getUnitWithScale(unit_type, scale)]
options.push [[I18n.t('items'), 'items']]
options = [].concat options...
@getUnitWithScale: (unit_type, scale) ->
"#{unit_type}_#{scale}"
@getUnitName: (scale, unitType) ->
if @units[unitType][scale]
@units[unitType][scale]['name']

View File

@@ -25,13 +25,12 @@ $(document).ready(function() {
var link = $(this);
var shipment_number = link.data('shipment-number');
var selected_shipping_rate_id = link.parents('tbody').find("select#selected_shipping_rate_id[data-shipment-number='" + shipment_number + "']").val();
var unlock = link.parents('tbody').find("input[name='open_adjustment'][data-shipment-number='" + shipment_number + "']:checked").val();
var url = Spree.url( Spree.routes.orders_api + "/" + order_number + "/shipments/" + shipment_number + ".json");
$.ajax({
type: "PUT",
url: url,
data: { shipment: { selected_shipping_rate_id: selected_shipping_rate_id, unlock: unlock } }
data: { shipment: { selected_shipping_rate_id: selected_shipping_rate_id } }
}).done(function( msg ) {
window.location.reload();
}).error(function( msg ) {

View File

@@ -28,19 +28,14 @@ module Api
authorize! :read, Spree::Shipment
@shipment = @order.shipments.find_by!(number: params[:id])
params[:shipment] ||= []
unlock = params[:shipment].delete(:unlock)
if unlock == 'yes'
@shipment.fee_adjustment.fire_events(:open)
end
@shipment.fee_adjustment.fire_events(:open)
if @shipment.update(shipment_params)
@order.updater.update_totals_and_states
end
if unlock == 'yes'
@shipment.fee_adjustment.close
end
@shipment.fee_adjustment.close
render json: @shipment.reload, serializer: Api::ShipmentSerializer, status: :ok
end

View File

@@ -30,12 +30,11 @@ module Spree
@object.attributes = permitted_resource_params
if @object.save
flash[:success] = flash_message_for(@object, :successfully_created)
if params[:button] == "add_another"
redirect_to spree.new_admin_product_path
else
redirect_to spree.admin_products_path
end
redirect_after_save
else
# Re-fill the form with deleted params on product
@on_hand = request.params[:product][:on_hand]
@on_demand = request.params[:product][:on_demand]
render :new
end
end
@@ -138,6 +137,14 @@ module Spree
private
def redirect_after_save
if params[:button] == "add_another"
redirect_to spree.new_admin_product_path
else
redirect_to spree.admin_products_path
end
end
def product_set_from_params
collection_hash = Hash[products_bulk_params[:products].each_with_index.map { |p, i|
[i, p]

View File

@@ -40,18 +40,6 @@
= label_tag 'selected_shipping_rate_id', Spree.t(:shipping_method)
= select_tag :selected_shipping_rate_id, options_for_select(shipment.shipping_rates.backend.map { |sr| ["#{sr.name} #{sr.display_price}", sr.id] }, shipment.selected_shipping_rate_id), { :class => 'select2 fullwidth', :data => { 'shipment-number' => shipment.number } }
- if shipment.fee_adjustment&.closed?
%div.field.omega.four.columns
%label
= Spree.t(:associated_adjustment_closed)
%ul
%li
= radio_button_tag :open_adjustment, 'yes', false, :data => { 'shipment-number' => shipment.number }
= "Yes"
%li
= radio_button_tag :open_adjustment, 'no', true, :data => {'shipment-number' => shipment.number }
= "No"
%td.actions
- if can? :update, shipment
= link_to '', '', :class => 'save-method icon_link icon-ok no-text with-tip', :data => { 'shipment-number' => shipment.number, :action => 'save' }, title: I18n.t('actions.save')

View File

@@ -1,19 +0,0 @@
<script type='text/template' id='customer_autocomplete_template'>
<div class='customer-autocomplete-item'>
<div class='customer-details'>
<h5>{{customer.email}}</h5>
{{#if bill_address.firstname }}
<strong>{{t 'bill_address' }}</strong>
{{bill_address.firstname}} {{bill_address.lastname}}<br>
{{bill_address.address1}}, {{bill_address.address2}}<br>
{{bill_address.city}}<br>
{{#if bill_address.state_id }}
{{bill_address.state.name}}
{{else}}
{{bill_address.state_name}}
{{/if}}
{{bill_address.country.name}}
{{/if}}
</div>
</div>
</script>

View File

@@ -17,8 +17,8 @@
%legend{:align => "center"}= Spree.t(:customer_search)
- content_for :main_ng_app_name do
= "admin.orders"
= hidden_field_tag :customer_search_override, nil, distributor_id: @order.distributor_id, :class => 'fullwidth title customer-search-override'
= render :partial => "spree/admin/orders/customer_details/autocomplete", :formats => :js
%label{for: "customer_search_override"}= Spree.t(:choose_a_customer)
%select{name: "customer_search_override", "data-controller": "select-customer", "data-select-customer-distributor-value": @order.distributor_id, class: "primary", placeholder: Spree.t(:choose_a_customer) }
= render :partial => 'spree/shared/error_messages', :locals => { :target => @order }

View File

@@ -1,4 +1,4 @@
.six.columns.omega{ "ng-if" => "product.variant_unit_with_scale != 'items'" }
= f.field_container :display_as do
= f.label :product_display_as, t('.display_as')
%input#product_display_as.fullwidth{name: "product[display_as]", placeholder: "{{ placeholder_text }}", type: "text"}
%input#product_display_as.fullwidth{name: "product[display_as]", placeholder: "{{ placeholder_text }}", type: "text", value: @product.master.display_as}

View File

@@ -11,7 +11,7 @@
= f.field_container :supplier do
= f.label :supplier_id, t(".supplier")
%span.required *
= f.collection_select(:supplier_id, @producers, :id, :name, {:include_blank => true, :selected => select_only_item(@producers)}, {:class => "select2 fullwidth"})
= f.select :supplier_id, options_from_collection_for_select(@producers, :id, :name, @product.supplier_id), {}, { "data-controller": "tom-select", class: "primary" }
= f.error_message_on :supplier
.eight.columns.omega
= f.field_container :name do
@@ -25,17 +25,17 @@
= f.field_container :units do
= f.label :variant_unit_with_scale, t(".units")
%span.required *
%select.select2.fullwidth{ id: 'product_variant_unit_with_scale', 'ng-model' => 'product.variant_unit_with_scale', 'ng-options' => 'unit[1] as unit[0] for unit in variant_unit_options' }
%select{id: 'product_variant_unit_with_scale', 'ng-model' => 'product.variant_unit_with_scale', 'ng-options' => 'unit[1] as unit[0] for unit in variant_unit_options',"data-controller": "tom-select", class: "primary"}
%option{'value' => '', 'ng-hide' => "hasUnit(product)"}
%input{ type: 'hidden', 'ng-value' => 'product.variant_unit', name: 'product[variant_unit]' }
%input{ type: 'hidden', 'ng-value' => 'product.variant_unit_scale', name: 'product[variant_unit_scale]' }
%input{ type: 'hidden', 'ng-value': 'product.variant_unit', "ng-init": "product.variant_unit='#{@product.variant_unit}'", name: 'product[variant_unit]' }
%input{ type: 'hidden', 'ng-value': 'product.variant_unit_scale', "ng-init": "product.variant_unit_scale='#{@product.variant_unit_scale}'", name: 'product[variant_unit_scale]' }
.two.columns
= f.field_container :unit_value do
= f.label :unit_value_with_description, t(".value"), 'ng-disabled' => "!hasUnit(product)"
%span.required *
%input.fullwidth{ id: 'product_unit_value_with_description', 'ng-model' => 'product.master.unit_value_with_description', :type => 'text', placeholder: "eg. 2", 'ng-disabled' => "!hasUnit(product)" }
%input{ type: 'hidden', 'ng-value' => 'product.master.unit_value', name: 'product[unit_value]' }
%input{ type: 'hidden', 'ng-value' => 'product.master.unit_description', name: 'product[unit_description]' }
%input{ type: 'hidden', 'ng-value': 'product.master.unit_value', "ng-init": "product.master.unit_value='#{@product.master.unit_value}'", name: 'product[unit_value]' }
%input{ type: 'hidden', 'ng-value': 'product.master.unit_description', "ng-init": "product.master.unit_description='#{@product.master.unit_description}'", name: 'product[unit_description]' }
= render 'display_as', f: f
.six.columns.omega{ 'ng-show' => "product.variant_unit_with_scale == 'items'" }
= f.field_container :unit_name do
@@ -50,7 +50,7 @@
= f.label :price, t(".price")
%span.required *
%br/
= f.text_field :price, { "class" => "fullwidth", "ng-model" => "product.price" }
= f.text_field :price, { "class": "fullwidth", "ng-model": "product.price", "ng-value": "'#{@product.price}'" }
= f.error_message_on :price
.four.columns{ ng: { app: 'ofn.admin'}}
= f.field_container :unit_price do
@@ -77,20 +77,20 @@
= f.field_container :on_hand do
= f.label :on_hand, t(".on_hand")
%br/
= f.text_field :on_hand, class: 'fullwidth'
= f.text_field :on_hand, class: 'fullwidth', value: @on_hand
= f.error_message_on :on_hand
.three.columns.omega
= f.field_container :on_demand do
= f.label :on_demand, t(".on_demand")
%br/
= f.check_box :on_demand
= f.check_box :on_demand, value: '1', checked: @on_demand == '1'
= f.error_message_on :on_demand
.sixteen.columns.alpha
= f.field_container :description do
= f.label :product_description, t(".product_description")
%br/
%text-angular{'id' => 'product_description', 'name' => 'product[description]', 'class' => 'text-angular', "textangular-links-target-blank" => true, 'ta-toolbar' => "[['bold','italics','underline','clear'],['insertLink']]"}
%text-angular{'id' => 'product_description', 'name' => 'product[description]', 'class' => 'text-angular', "textangular-links-target-blank" => true, 'ta-toolbar' => "[['bold','italics','underline','clear'],['insertLink']]", "ng-model": "product.description"}
= sanitize(@product.description)
= f.error_message_on :description
.four.columns.omega{ style: "text-align: center" }

View File

@@ -0,0 +1,50 @@
export const useRenderCustomer = (controller) => {
Object.assign(controller, {
renderOption(item, escape) {
if (!item.bill_address) {
return this.renderWithNoBillAddress(item, escape);
}
return `<div class='customer-autocomplete-item'>
<div class='customer-details'>
<h5>${escape(item.email)}</h5>
${
item.bill_address.firstname
? `<strong>${I18n.t("bill_address")}</strong>
${item.bill_address.firstname} ${
item.bill_address.lastname
}<br>
${item.bill_address.address1}, ${
item.bill_address.address2
}<br>
${item.bill_address.city}
<br>
${
item.bill_address.state_id &&
item.bill_address.state &&
item.bill_address.state.name
? item.bill_address.state.name
: item.bill_address.state_name
}
${
item.bill_address.country &&
item.bill_address.country.name
? item.bill_address.country.name
: item.bill_address.country_name
}
`
: ""
}
</div>
</div>`;
},
renderWithNoBillAddress(item, escape) {
return `<div class='customer-autocomplete-item'>
<div class='customer-details'><h5>${escape(
item.email
)}</h5></div>
</div>`;
},
});
};

View File

@@ -0,0 +1,22 @@
export const useSearchCustomer = (controller) => {
Object.assign(controller, {
load: function (query, callback) {
var params = {
q: query,
distributor_id: this.distributorValue,
};
fetch("/admin/search/customers.json?" + new URLSearchParams(params))
.then((response) => response.json())
.then((json) => {
this.items = json;
callback(json);
})
.catch((error) => {
this.items = [];
console.log(error);
callback();
});
},
});
};

View File

@@ -0,0 +1,66 @@
import TomSelectController from "./tom_select_controller";
import { useSearchCustomer } from "./mixins/useSearchCustomer";
import { useRenderCustomer } from "./mixins/useRenderCustomer";
export default class extends TomSelectController {
static values = { options: Object, distributor: Number };
connect() {
useSearchCustomer(this);
useRenderCustomer(this);
const options = {
valueField: "id",
labelField: "email",
searchField: ["email", "full_name", "last_name"],
load: this.load.bind(this),
shouldLoad: (query) => query.length > 2,
render: {
option: this.renderOption.bind(this),
},
};
super.connect(options);
this.control.on("item_add", this.onItemSelect.bind(this));
this.items = [];
}
onItemSelect(id, item) {
const customer = this.items.find((item) => item.id == id);
["bill_address", "ship_address"].forEach((address) => {
const data = customer[address];
const address_parts = [
"firstname",
"lastname",
"address1",
"address2",
"city",
"zipcode",
"phone",
];
const attribute_wrapper = "#order_" + address + "_attributes_";
address_parts.forEach((part) => {
document.querySelector(attribute_wrapper + part).value = data
? data[part]
: "";
});
this.setValueOnTomSelectController(
document.querySelector(attribute_wrapper + "state_id"),
data ? data.state_id : ""
);
this.setValueOnTomSelectController(
document.querySelector(attribute_wrapper + "country_id"),
data ? data.country_id : ""
);
});
$("#order_email").val(customer.email);
$("#user_id").val(customer.user_id);
}
setValueOnTomSelectController = (element, value) => {
if (!value) {
return;
}
this.application
.getControllerForElementAndIdentifier(element, "tom-select")
.control.setValue(value, true);
};
}

View File

@@ -1,22 +1,24 @@
import { Controller } from "stimulus"
import TomSelect from "tom-select"
import { Controller } from "stimulus";
import TomSelect from "tom-select";
export default class extends Controller {
static values = { options: Object }
static values = { options: Object };
static defaults = {
maxItems: 1,
maxOptions: null,
plugins: ["dropdown_input"],
allowEmptyOption: true
}
allowEmptyOption: true,
};
connect() {
this.control = new TomSelect(
this.element, { ...this.constructor.defaults, ...this.optionsValue }
)
connect(options = {}) {
this.control = new TomSelect(this.element, {
...this.constructor.defaults,
...this.optionsValue,
...options,
});
}
disconnect() {
if (this.control) this.control.destroy()
if (this.control) this.control.destroy();
}
}

View File

@@ -1195,6 +1195,7 @@ cy:
unitsize: MAINT UNEDAU
total: CYFANSWM
total_items: CYFANSWM EITEMAU
total_by_supplier: Cyfanswm fesul Cyflenwr
supplier_totals: Cyfanswm Cylch Archebu Cyflenwyr
supplier_totals_by_distributor: Cyfanswm Cylch Archebu Cyflenwyr fesul Dosbarthwr
totals_by_supplier: Cyfanswm Cylch Dosbarthu Archebion fesul Cyflenwr
@@ -1210,6 +1211,7 @@ cy:
tax_rates: Cyfraddau Treth
pack_by_customer: Pecyn fesul Cwsmer
pack_by_supplier: Pecyn fesul Cyflenwr
pack_by_product: Pecynnu yn ôl Cynnyrch
orders_and_distributors:
name: Archebion a Dosbarthwyr
description: Archebion gyda manylion dosbarthwr
@@ -1260,8 +1262,14 @@ cy:
temp_controlled: "Tymheredd a reolir?"
price: "Pris"
rendering_options:
generate_report: "Creu adroddiad"
on_screen: "Ar y sgrin"
spreadsheet: "Taenlen (Excel, OpenOffice..)"
display: Arddangos
summary_row: Rhes Crynodeb
header_row: Rhes Pennawd
raw_data: Data Craidd
formatted_data: Data wedii Fformatio
packing:
name: "Adroddiadau Pacio"
subscriptions:
@@ -2479,11 +2487,15 @@ cy:
report_payment_totals: 'Cyfanswm Taliadau'
report_all: 'I gyd'
report_order_cycle: "Cylch archebu"
report_hide_columns: Colofnau iw cuddio
report_enterprises: "Mentrau"
report_enterprise_fee: "Enwau Ffioedd"
report_users: "Defnyddwyr"
report_tax_rates: Cyfraddau treth
report_tax_types: Mathau treth
report_filters: Hidlaur Adroddiad
report_print: Argraffu Adroddiad
report_render_options: Opsiynau Creu
report_header_order_cycle: Cylch archebu
report_header_user: Defnyddiwr
report_header_email: E-bost
@@ -2618,6 +2630,11 @@ cy:
report_header_transaction_fee: Ffi Trafodiad (dim treth)
report_header_total_untaxable_admin: Cyfanswm addasiadau gweinyddol na ellir eu trethu (dim treth)
report_header_total_taxable_admin: Cyfanswm addasiadau gweinyddol trethadwy (sy'n cynnwys treth)
report_xero_configuration: Dim ffurfweddiad
initial_invoice_number: "Rhif anfoneb cychwynnol"
invoice_date: "Dyddiad yr anfoneb"
due_date: "Dyddiad dyledus"
account_code: "Cod y cyfrif"
equals: "Yn cyfateb i"
contains: "yn cynnwys"
discount: "Gostyngiad"

4113
config/locales/de_CH.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1804,6 +1804,7 @@ en_GB:
order_hub_info: Hub info
order_back_to_store: Back To Store
order_back_to_cart: Back To Cart
order_back_to_website: Back To Website
bom_tip: "Use this page to alter product quantities across multiple orders. Products may also be removed from orders entirely, if required."
unsaved_changes_warning: "Unsaved changes exist and will be lost if you continue."
unsaved_changes_error: "Fields with red borders contain errors."

View File

@@ -2102,7 +2102,7 @@ en_US:
confirm_password: "Confirm password"
action_signup: "Sign up now"
forgot_password: "Forgot password?"
password_reset_sent: "An email with instructions on resetting your password has been sent!"
password_reset_sent: "We have sent an email with instructions on resetting your password. If you don't see it in the next minute or two, please check your email Spam folder. If you still don't see it, please contact support-usa@openfoodnetwork.net."
reset_password: "Reset password"
update_and_recalculate_fees: "Update And Recalculate Fees"
registration:

4172
config/locales/fr_CH.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
hu:
language_name: "Magyar"
language_name: "Angol"
activerecord:
models:
spree/product: Termék
@@ -290,7 +290,7 @@ hu:
title: "Open Food Network"
welcome_to: "Üdvözli az"
site_meta_description: "Az alapoktól kezdjük. A gazdálkodókkal és termelőkkel, akik készen állnak arra, hogy büszkén és őszintén elmondják történeteiket. A forgalmazókkal, akik készen állnak arra, hogy tisztességesen és becsületesen összekapcsolják az embereket a termékekkel. Azokkal a vásárlókkal, akik hisznek abban, hogy jobb heti vásárlási döntések…"
search_by_name: Keresés név vagy előváros szerint...
search_by_name: Keresés név vagy település szerint...
producers_join: Az ausztrál termelők most már csatlakozhatnak az Open Food Networkhöz.
charges_sales_tax: GST-t fizet?
business_address: "Üzleti cím"
@@ -1471,7 +1471,7 @@ hu:
menu_3_url: "/producers"
menu_4_title: "Csoportok"
menu_4_url: "/groups"
menu_5_title: "Ról ről"
menu_5_title: "Rólunk"
menu_5_url: "https://about.openfoodnetwork.org.au/"
menu_6_title: "Csatlakozás"
menu_6_url: "https://openfoodnetwork.org/au/connect/"
@@ -1532,7 +1532,7 @@ hu:
label_producer: "Termelő"
label_producers: "Termelők"
label_groups: "Csoportok"
label_about: "Ról ről"
label_about: "Rólunk"
label_blog: "Blog"
label_support: "Támogatás"
label_shopping: "Bevásárlás"
@@ -1865,7 +1865,7 @@ hu:
shopping_oc_select: "Válassz..."
shopping_tabs_home: "itthon"
shopping_tabs_shop: "Üzlet"
shopping_tabs_about: "Ról ről"
shopping_tabs_about: "Rólunk"
shopping_tabs_producers: "Termelők"
shopping_tabs_contact: "Kapcsolatba lépni"
shopping_tabs_groups: "Csoportok"
@@ -2009,8 +2009,8 @@ hu:
sell_embed: "Ezenkívül beágyazhatunk egy OFN üzletet saját, személyre szabott webhelyébe, vagy személyre szabott helyi élelmiszer-hálózati webhelyet készíthetünk az Ön régiójában."
sell_ask_services: "Kérdezzen minket az OFN szolgáltatásairól."
shops_title: Üzletek
shops_headline: Bevásárlás, átalakult.
shops_text: Az élelmiszer ciklusokban nő, a gazdák ciklusokban aratnak,és ciklusokban rendelünk ételt. Ha lezárt rendelési ciklust talál, látogasson vissza hamarosan.
shops_headline: Bevásárlás, másképpen.
shops_text: A növénytermesztés és állattenyésztés ciklusokban történik. A gazdák éréskor aratnak, ezért a legmegfelelőbb pillanatban rendelünk ételt. Ha lezárt rendelési ciklust talál, látogasson vissza hamarosan.
shops_signup_title: Regisztráljon hubként
shops_signup_headline: Élelmiszer-központok, korlátlan.
shops_signup_motivation: Bármi legyen is a modelled, támogatunk téged. Azonban változol, veled vagyunk. Mi non-profit, független," és nyílt forráskódú. Mi vagyunk azok a szoftverpartnerek, akikről álmodott.
@@ -2183,7 +2183,7 @@ hu:
no_producer_help: "Ha nem vagy termelő, akkor valószínűleg olyan valaki, aki élelmiszert ad el és oszt el. Ön lehet egy csomópont, szövetkezet, vásárlási csoport, kiskereskedő, nagykereskedő vagy más."
create_profile: "Profil létrehozása"
about:
title: "Ról ről"
title: "Rólunk"
headline: "Szép darab!"
message: "Most lássuk a részleteket"
success: "Siker! %{enterprise} hozzáadva az Open Food Networkhöz"
@@ -2616,7 +2616,7 @@ hu:
user_invited: "%{email} meghívást kapott, hogy kezelje ezt a vállalatot"
add_manager: "Meglévő felhasználó hozzáadása"
users: "Felhasználók"
about: "Ról ről"
about: "Rólunk"
images: "Képek"
web: "Web"
primary_details: "Elsődleges részletek"

View File

@@ -26,8 +26,7 @@ module Reporting
summary_row: proc do |_key, line_items, rows|
{
total_cost: rows.sum(&:total_cost),
total_shipping_cost: line_items.map(&:first).map(&:order).uniq.sum(&:ship_total),
shipping_method: rows.first.shipping_method
total_shipping_cost: line_items.map(&:first).map(&:order).uniq.sum(&:ship_total)
}
end
}

View File

@@ -35,6 +35,12 @@ module Reporting
def line_item_includes
[{ variant: [{ option_values: :option_type }, { product: :supplier }] }]
end
def query_result
report_line_items.list(line_item_includes).group_by { |e|
[e.variant_id, e.price]
}.values
end
end
end
end

View File

@@ -273,28 +273,11 @@ describe Api::V0::ShipmentsController, type: :controller do
expect(order.payment_state).to eq "balance_due" # total changed, payment is due
end
context "using the 'unlock' parameter with closed adjustments" do
before do
order.shipment_adjustments.each(&:close)
end
it "does not update closed adjustments without unlock option" do
params[:shipment][:unlock] = "no"
expect {
api_put :update, params
expect(response.status).to eq 200
}.to_not change { order.reload.shipment.fee_adjustment.amount }
end
it "updates closed adjustments with unlock option selected" do
params[:shipment][:unlock] = "yes"
expect {
api_put :update, params
expect(response.status).to eq 200
}.to change { order.reload.shipment.fee_adjustment.amount }
end
it "updates closed adjustments" do
expect {
api_put :update, params
expect(response.status).to eq 200
}.to change { order.reload.shipment.fee_adjustment.amount }
end
end
end

View File

@@ -23,6 +23,14 @@ FactoryBot.define do
end
end
trait :with_logo_image do
logo { Rack::Test::UploadedFile.new('spec/fixtures/files/logo.png', 'image/png') }
end
trait :with_promo_image do
logo { Rack::Test::UploadedFile.new('spec/fixtures/files/promo.png', 'image/png') }
end
factory :supplier_enterprise, parent: :enterprise do
is_primary_producer { true }
sells { "none" }

View File

@@ -225,7 +225,7 @@ describe SubscriptionMailer, type: :mailer do
end
describe "order placement summary" do
let!(:shop) { create(:enterprise) }
let!(:shop) { create(:enterprise, :with_logo_image) }
let!(:summary) { double(:summary, shop_id: shop.id) }
let(:body) { strip_tags(SubscriptionMailer.deliveries.last.body.encoded) }
let(:scope) { "subscription_mailer" }
@@ -252,7 +252,6 @@ describe SubscriptionMailer, type: :mailer do
end
it "renders the shop's logo" do
shop.update!(logo: fixture_file_upload("logo.png", "image/png"))
SubscriptionMailer.placement_summary_email(summary).deliver_now
expect(SubscriptionMailer.deliveries.last.body).to include "logo.png"
end

View File

@@ -127,6 +127,12 @@ module WebHelper
page.find(:css, 'body').click
end
def tomselect_search_and_select(value, options)
page.find("[name='#{options[:from]}']").sibling(".ts-wrapper").click
page.find(:css, '.ts-dropdown input.dropdown-input').set(value)
page.find(:css, '.ts-dropdown .ts-dropdown-content .option', text: value).click
end
def accept_js_alert
page.driver.browser.switch_to.alert.accept
end

View File

@@ -383,7 +383,7 @@ describe '
expect(page).to have_selector '#select-customer'
# And I select that customer's email address and save the order
select2_select customer.email, from: 'customer_search_override', search: true
tomselect_search_and_select customer.email, from: 'customer_search_override'
click_button 'Update'
expect(page).to have_selector "h1.js-admin-page-title", text: "Customer Details"
@@ -391,6 +391,10 @@ describe '
order = Spree::Order.last
expect(order.ship_address.lastname).to eq customer.ship_address.lastname
expect(order.bill_address.lastname).to eq customer.bill_address.lastname
expect(order.ship_address.zipcode).to eq customer.ship_address.zipcode
expect(order.bill_address.zipcode).to eq customer.bill_address.zipcode
expect(order.ship_address.city).to eq customer.ship_address.city
expect(order.bill_address.city).to eq customer.bill_address.city
end
context "as an enterprise manager" do

View File

@@ -29,6 +29,41 @@ describe '
describe "creating a product" do
let!(:tax_category) { create(:tax_category, name: 'Test Tax Category') }
it "display all attributes when submitting with error: no name" do
login_to_admin_section
click_link 'Products'
click_link 'New Product'
select @supplier.name, from: 'product_supplier_id'
select "Weight (kg)", from: 'product_variant_unit_with_scale'
fill_in 'product_unit_value_with_description', with: "5 g"
assert_selector(:field, placeholder: "5kg g")
fill_in 'product_display_as', with: "Big Box of Chocolates"
select taxon.name, from: "product_primary_taxon_id"
fill_in 'product_price', with: '19.99'
fill_in 'product_on_hand', with: 5
check 'product_on_demand'
select 'Test Tax Category', from: 'product_tax_category_id'
page.find("div[id^='taTextElement']").native.send_keys('A description...')
click_button 'Create'
expect(page).to have_content "Name can't be blank"
expect(page).to have_field 'product_supplier_id', with: @supplier.id
expect(page).to have_field 'product_unit_value_with_description', with: "5 g"
expect(page).to have_field 'product_display_as', with: "Big Box of Chocolates"
expect(page).to have_field 'product_primary_taxon_id', with: taxon.id
expect(page).to have_field 'product_price', with: '19.99'
expect(page).to have_field 'product_on_hand', with: 5
expect(page).to have_field 'product_on_demand', checked: true
expect(page).to have_field 'product_tax_category_id', with: tax_category.id
expect(page.find("div[id^='taTextElement']")).to have_content 'A description...'
expect(page.find("#product_units_field")).to have_content 'Weight (kg)'
expect(page).to have_content "Name can't be blank"
end
it "assigning important attributes", js: true do
login_to_admin_section
@@ -102,6 +137,7 @@ describe '
fill_in 'product_name', with: 'Hot Cakes'
select 'New supplier', from: 'product_supplier_id'
select "Weight (kg)", from: 'product_variant_unit_with_scale'
fill_in "product_unit_value_with_description", with: ""
select taxon.name, from: "product_primary_taxon_id"
fill_in 'product_price', with: '1.99'
fill_in 'product_on_hand', with: 0

View File

@@ -59,6 +59,12 @@ describe "spree/admin/orders/edit.html.haml" do
text: out_of_stock_line_item.variant.display_name
end
end
it "doesn't display closed associated adjustments" do
render
expect(rendered).to_not have_content "Associated adjustment closed"
end
end
context "when order is incomplete" do
@@ -93,5 +99,11 @@ describe "spree/admin/orders/edit.html.haml" do
expect(rendered).to_not have_content "Out of Stock"
end
end
it "doesn't display closed associated adjustments" do
render
expect(rendered).to_not have_content "Associated adjustment closed"
end
end
end

466
yarn.lock
View File

@@ -2176,46 +2176,46 @@
integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==
"@storybook/addon-controls@^6.4.13":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.5.7.tgz#ec1f3c26b494c5eccb44e172d17e23a267e3b514"
integrity sha512-1JGphHk1gcLLpkft/D5BkygXwelSdWQqvXnfFc62BVqvzxv8hCF4zuUosKLWMlB/nzVbd6W4oEDV/Mqmt6h/7w==
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.5.9.tgz#8f6ef939c87b3dbad98f8bda7e124f0b34f668d2"
integrity sha512-VvjkgK32bGURKyWU2No6Q2B0RQZjLZk8D3neVNCnrWxwrl1G82StegxjRPn/UZm9+MZVPvTvI46nj1VdgOktnw==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/api" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/components" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/api" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/components" "6.5.9"
"@storybook/core-common" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/node-logger" "6.5.7"
"@storybook/store" "6.5.7"
"@storybook/theming" "6.5.7"
"@storybook/node-logger" "6.5.9"
"@storybook/store" "6.5.9"
"@storybook/theming" "6.5.9"
core-js "^3.8.2"
lodash "^4.17.21"
ts-dedent "^2.0.0"
"@storybook/addon-docs@^6.4.13":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.7.tgz#405e20a02053c8933aeb51b8161aa4b665e69887"
integrity sha512-RghRpimJOJl9c/H6qvCCD0zHLETBIVWXsdYJF8GiY6iTKd+tgQYizuuoBT4f3PAMEMHVhmvWSjkkFLxKxzQLjQ==
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.9.tgz#32b27fb298624afd738c1371a764d7ff4831fe6d"
integrity sha512-9lwOZyiOJFUgGd9ADVfcgpels5o0XOXqGMeVLuzT1160nopbZjNjo/3+YLJ0pyHRPpMJ4rmq2+vxRQR6PVRgPg==
dependencies:
"@babel/plugin-transform-react-jsx" "^7.12.12"
"@babel/preset-env" "^7.12.11"
"@jest/transform" "^26.6.2"
"@mdx-js/react" "^1.6.22"
"@storybook/addons" "6.5.7"
"@storybook/api" "6.5.7"
"@storybook/components" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/api" "6.5.9"
"@storybook/components" "6.5.9"
"@storybook/core-common" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/docs-tools" "6.5.7"
"@storybook/docs-tools" "6.5.9"
"@storybook/mdx1-csf" "^0.0.1"
"@storybook/node-logger" "6.5.7"
"@storybook/postinstall" "6.5.7"
"@storybook/preview-web" "6.5.7"
"@storybook/source-loader" "6.5.7"
"@storybook/store" "6.5.7"
"@storybook/theming" "6.5.7"
"@storybook/node-logger" "6.5.9"
"@storybook/postinstall" "6.5.9"
"@storybook/preview-web" "6.5.9"
"@storybook/source-loader" "6.5.9"
"@storybook/store" "6.5.9"
"@storybook/theming" "6.5.9"
babel-loader "^8.0.0"
core-js "^3.8.2"
fast-deep-equal "^3.1.3"
@@ -2227,35 +2227,35 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
"@storybook/addons@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.7.tgz#1c7256f696fb572f7c3c7ccbcb94988372b95cee"
integrity sha512-tUZ2c1uegUcwY31ztNQZGU/HUwAEEGIR8fEOvvO8S0TNQGoo6cwFtZmWBh3mTSRGcmzK2SNBjFHZua5Ee9TefA==
"@storybook/addons@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.9.tgz#5a9d7395c579a9cbc44dfc122362fb3c95dfb9d5"
integrity sha512-adwdiXg+mntfPocLc1KXjZXyLgGk7Aac699Fwe+OUYPEC5tW347Rm/kFatcE556d42o5czcRiq3ZSIGWnm9ieQ==
dependencies:
"@storybook/api" "6.5.7"
"@storybook/channels" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/api" "6.5.9"
"@storybook/channels" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/router" "6.5.7"
"@storybook/theming" "6.5.7"
"@storybook/router" "6.5.9"
"@storybook/theming" "6.5.9"
"@types/webpack-env" "^1.16.0"
core-js "^3.8.2"
global "^4.4.0"
regenerator-runtime "^0.13.7"
"@storybook/api@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.7.tgz#1a5fc381fd417fd1c8ab6e246af09fdcd20f9df0"
integrity sha512-QCNypz4X+lYuFW7EzvRPXMf8uS3gfSIV8sqXtEe5XoMb0HQXhy6AGU7/4iAeuUimtETqLTxq+kOxaSg4uPowxg==
"@storybook/api@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.9.tgz#303733214c9de0422d162f7c54ae05d088b89bf9"
integrity sha512-9ylztnty4Y+ALU/ehW3BML9czjCAFsWvrwuCi6UgcwNjswwjSX3VRLhfD1KT3pl16ho//95LgZ0LnSwROCcPOA==
dependencies:
"@storybook/channels" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/channels" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/router" "6.5.7"
"@storybook/router" "6.5.9"
"@storybook/semver" "^7.3.2"
"@storybook/theming" "6.5.7"
"@storybook/theming" "6.5.9"
core-js "^3.8.2"
fast-deep-equal "^3.1.3"
global "^4.4.0"
@@ -2267,28 +2267,28 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
"@storybook/builder-webpack4@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.7.tgz#043ad0625eedb39fcd07035cdb252973d3eb6ef9"
integrity sha512-8OB3mZ2L6kQBiAXlkhna/MHREXIPtqXi2AJLT3+bTzBlqkusH+PwMZxWHbcPl1vZrlNQBC40Elx9tdynGkVQ6g==
"@storybook/builder-webpack4@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.9.tgz#4b37e1fa23a25aa4bfeaba640e5d318fcd511f95"
integrity sha512-YOeA4++9uRZ8Hog1wC60yjaxBOiI1FRQNtax7b9E7g+kP8UlSCPCGcv4gls9hFmzbzTOPfQTWnToA9Oa6jzRVw==
dependencies:
"@babel/core" "^7.12.10"
"@storybook/addons" "6.5.7"
"@storybook/api" "6.5.7"
"@storybook/channel-postmessage" "6.5.7"
"@storybook/channels" "6.5.7"
"@storybook/client-api" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/components" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/node-logger" "6.5.7"
"@storybook/preview-web" "6.5.7"
"@storybook/router" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/api" "6.5.9"
"@storybook/channel-postmessage" "6.5.9"
"@storybook/channels" "6.5.9"
"@storybook/client-api" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/components" "6.5.9"
"@storybook/core-common" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/node-logger" "6.5.9"
"@storybook/preview-web" "6.5.9"
"@storybook/router" "6.5.9"
"@storybook/semver" "^7.3.2"
"@storybook/store" "6.5.7"
"@storybook/theming" "6.5.7"
"@storybook/ui" "6.5.7"
"@storybook/store" "6.5.9"
"@storybook/theming" "6.5.9"
"@storybook/ui" "6.5.9"
"@types/node" "^14.0.10 || ^16.0.0"
"@types/webpack" "^4.41.26"
autoprefixer "^9.8.6"
@@ -2320,51 +2320,51 @@
webpack-hot-middleware "^2.25.1"
webpack-virtual-modules "^0.2.2"
"@storybook/channel-postmessage@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.7.tgz#7b4ab88e274a9584d5603f37ab7a985f08a3643e"
integrity sha512-X4UPgm4O0503CsSnqAM1ht/6R9ofnoMcqFZxYRu9PSvHlhaFR9V9AU4VjQhakH7alFzRsAhcAV2PFVTAdWhgtA==
"@storybook/channel-postmessage@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.9.tgz#9cf4530f0364cee0d5e58f92d6fb5ce98e10257b"
integrity sha512-pX/0R8UW7ezBhCrafRaL20OvMRcmESYvQQCDgjqSzJyHkcG51GOhsd6Ge93eJ6QvRMm9+w0Zs93N2VKjVtz0Qw==
dependencies:
"@storybook/channels" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/channels" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
core-js "^3.8.2"
global "^4.4.0"
qs "^6.10.0"
telejson "^6.0.8"
"@storybook/channel-websocket@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.7.tgz#69e274319a995d1bd01b3783586cdefcb56277dc"
integrity sha512-C+l6t3ZgHzU8gL8GJ8c4GMttJglGJIwq1LtJJKnGzx2kJCD0HRMMqc/qFS2K2EwP99hLwwGIlCpom3UZ1aEanA==
"@storybook/channel-websocket@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.9.tgz#6b7a0127fec58ee5be4f6aebcf460adc564f2f34"
integrity sha512-xtHvSNwuOhkgALwVshKWsoFhDmuvcosdYfxcfFGEiYKXIu46tRS5ZXmpmgEC/0JAVkVoFj5nL8bV7IY5np6oaA==
dependencies:
"@storybook/channels" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/channels" "6.5.9"
"@storybook/client-logger" "6.5.9"
core-js "^3.8.2"
global "^4.4.0"
telejson "^6.0.8"
"@storybook/channels@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.7.tgz#765b02e949f58c4181998c676b155f5c1914bec1"
integrity sha512-v880fWBpWgiWrDmZesTIstNfMZhrPfgXAtLNcL5Z89NAPahsHskOSszc0BDxKN3gb+ZeTKUqHxY57dQdp+1rhg==
"@storybook/channels@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.9.tgz#abfab89a6587a2688e9926d4aafeb11c9d8b2e79"
integrity sha512-FvGA35nV38UPXWOl9ERapFTJaxwSTamQ339s2Ev7E9riyRG+GRkgTWzf5kECJgS1PAYKd/7m/RqKJT9BVv6A5g==
dependencies:
core-js "^3.8.2"
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
"@storybook/client-api@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.7.tgz#e5d7a5ca698138f4eba36e14d49138850163f252"
integrity sha512-na8NZhB6GnAGp3jRTV9wwue3WGwSZoi5jfxrKSYMPL/s/2n07/soixHggqueBDXuNBrPoJaXbY/nRHmSjLwxtQ==
"@storybook/client-api@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.9.tgz#3e4a8ec1d277fd81325c5d959c553161a85fa182"
integrity sha512-pc7JKJoWLesixUKvG2nV36HukUuYoGRyAgD3PpIV7qSBS4JixqZ3VAHFUtqV1UzfOSQTovLSl4a0rIRnpie6gA==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/channel-postmessage" "6.5.7"
"@storybook/channels" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/channel-postmessage" "6.5.9"
"@storybook/channels" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/store" "6.5.7"
"@storybook/store" "6.5.9"
"@types/qs" "^6.9.5"
"@types/webpack-env" "^1.16.0"
core-js "^3.8.2"
@@ -2379,44 +2379,45 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
"@storybook/client-logger@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.7.tgz#97a607b1d09d32a31091fe286510cf5d3995d2bf"
integrity sha512-ycDy1kXeXRg3djSTXRGMVxc0kvaWw/UhHDs2VGFmOPScsoeWpdbePHXJMFbsqippxuexpsofqTryBwH2b6BPhw==
"@storybook/client-logger@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.9.tgz#dc1669abe8c45af1cc38f74c6f4b15ff33e63014"
integrity sha512-DOHL6p0uiDd3gV/Sb2FR+Vh6OiPrrf8BrA06uvXWsMRIIvEEvnparxv9EvPg7FlmUX0T3nq7d3juwjx4F8Wbcg==
dependencies:
core-js "^3.8.2"
global "^4.4.0"
"@storybook/components@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.7.tgz#28a509c0556f8df919c8c7f7076ca6785b22cb8d"
integrity sha512-xSOaOK8q6bXYkmN4LZKucvXU2HRHqKwwTafFDh5yzsCSEB2VQIJlyo4ePVyv/GJgBUX6+WdSA7c5r5ePXK6IYQ==
"@storybook/components@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.9.tgz#97e07ffe11ab76c01ccee380888991bd161f75b2"
integrity sha512-BhfX980O9zn/1J4FNMeDo8ZvL1m5Ml3T4HRpfYmEBnf8oW5b5BeF6S2K2cwFStZRjWqm1feUcwNpZxCBVMkQnQ==
dependencies:
"@storybook/client-logger" "6.5.7"
"@storybook/client-logger" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/theming" "6.5.7"
"@storybook/theming" "6.5.9"
"@types/react-syntax-highlighter" "11.0.5"
core-js "^3.8.2"
memoizerific "^1.11.3"
qs "^6.10.0"
react-syntax-highlighter "^15.4.5"
regenerator-runtime "^0.13.7"
util-deprecate "^1.0.2"
"@storybook/core-client@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.7.tgz#556a38330c89adfacf5151cda0b5c32e24499737"
integrity sha512-GL7m33tpEyornhfnTddbvDuLkA9EMe1zKv9oZGsUYo78cWRTiEibYyHegIi9/ThplRXvpFR/5uHY4Zx5Z5rxJg==
"@storybook/core-client@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.9.tgz#ea6035d1c90d2c68e860e3cf629979491856cd88"
integrity sha512-LY0QbhShowO+PQx3gao3wdVjpKMH1AaSLmuI95FrcjoMmSXGf96jVLKQp9mJRGeHIsAa93EQBYuCihZycM3Kbg==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/channel-postmessage" "6.5.7"
"@storybook/channel-websocket" "6.5.7"
"@storybook/client-api" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/channel-postmessage" "6.5.9"
"@storybook/channel-websocket" "6.5.9"
"@storybook/client-api" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/preview-web" "6.5.7"
"@storybook/store" "6.5.7"
"@storybook/ui" "6.5.7"
"@storybook/preview-web" "6.5.9"
"@storybook/store" "6.5.9"
"@storybook/ui" "6.5.9"
airbnb-js-shims "^2.2.1"
ansi-to-html "^0.6.11"
core-js "^3.8.2"
@@ -2428,10 +2429,10 @@
unfetch "^4.2.0"
util-deprecate "^1.0.2"
"@storybook/core-common@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.7.tgz#69519d02b48c719fba734b38bb6a4419abc77a4b"
integrity sha512-/b1oQlmhek8tKDu9ky2O1oEk9g2giAPpl192yRz4lIxap5CFJ7RCfgbkq+F3JBXnH2P84BufC0x3dj4jvBhxCw==
"@storybook/core-common@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.9.tgz#7ca8258ea2634b1d64695c1e4262f71cc7457989"
integrity sha512-NxOK0mrOCo0TWZ7Npc5HU66EKoRHlrtg18/ZixblLDWQMIqY9XCck8K1kJ8QYpYCHla+aHIsYUArFe2vhlEfZA==
dependencies:
"@babel/core" "^7.12.10"
"@babel/plugin-proposal-class-properties" "^7.12.1"
@@ -2455,7 +2456,7 @@
"@babel/preset-react" "^7.12.10"
"@babel/preset-typescript" "^7.12.7"
"@babel/register" "^7.12.1"
"@storybook/node-logger" "6.5.7"
"@storybook/node-logger" "6.5.9"
"@storybook/semver" "^7.3.2"
"@types/node" "^14.0.10 || ^16.0.0"
"@types/pretty-hrtime" "^1.0.0"
@@ -2484,30 +2485,30 @@
util-deprecate "^1.0.2"
webpack "4"
"@storybook/core-events@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.7.tgz#a533f3a57e495a1660c82c5d6164ca464bf4a2b2"
integrity sha512-epqYy67Ypry5QdCt7FpN57/X9uuS7R2+DLFORZIpL/SJG1dIdN4POQ1icWOhPzHl+eiSgaV7e2oPaUsN+LPhJQ==
"@storybook/core-events@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.9.tgz#5b0783c7d22a586c0f5e927a61fe1b1223e19637"
integrity sha512-tXt7a3ZvJOCeEKpNa/B5rQM5VI7UJLlOh3IHOImWn4HqoBRrZvbourmac+PRZAtXpos0h3c6554Hjapj/Sny5Q==
dependencies:
core-js "^3.8.2"
"@storybook/core-server@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.7.tgz#3e849045617a3bc0cfa0091fc3952c150114428e"
integrity sha512-CGwFZ5kmKaCS/+tcrAbqQu4Owq86wXkWRapJB55S8AlUsf3c9gEC8a3+Ed9tZUlmjSH56CnDDfmt7AleToaQ9w==
"@storybook/core-server@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.9.tgz#749a881c1a81d7cf1a69f3782c06a7f0c39a505c"
integrity sha512-YeePGUrd5fQPvGzMhowh124KrcZURFpFXg1VB0Op3ESqCIsInoMZeObci4Gc+binMXC7vcv7aw3EwSLU37qJzQ==
dependencies:
"@discoveryjs/json-ext" "^0.5.3"
"@storybook/builder-webpack4" "6.5.7"
"@storybook/core-client" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/builder-webpack4" "6.5.9"
"@storybook/core-client" "6.5.9"
"@storybook/core-common" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/csf-tools" "6.5.7"
"@storybook/manager-webpack4" "6.5.7"
"@storybook/node-logger" "6.5.7"
"@storybook/csf-tools" "6.5.9"
"@storybook/manager-webpack4" "6.5.9"
"@storybook/node-logger" "6.5.9"
"@storybook/semver" "^7.3.2"
"@storybook/store" "6.5.7"
"@storybook/telemetry" "6.5.7"
"@storybook/store" "6.5.9"
"@storybook/telemetry" "6.5.9"
"@types/node" "^14.0.10 || ^16.0.0"
"@types/node-fetch" "^2.5.7"
"@types/pretty-hrtime" "^1.0.0"
@@ -2542,18 +2543,18 @@
ws "^8.2.3"
x-default-browser "^0.4.0"
"@storybook/core@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.7.tgz#8db00f6af1c869574fa996c427faff74335c2325"
integrity sha512-YSu2qur1E5y9rjVspchtCfupPT3y1XyjBInhwzo8jC3rvm2WY0RS80VQU3dga4QBllO1M+cDmLzmOEPL82+Juw==
"@storybook/core@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.9.tgz#da4f237391d99aed1228323f24b335cafbdf3499"
integrity sha512-Mt3TTQnjQt2/pa60A+bqDsAOrYpohapdtt4DDZEbS8h0V6u11KyYYh3w7FCySlL+sPEyogj63l5Ec76Jah3l2w==
dependencies:
"@storybook/core-client" "6.5.7"
"@storybook/core-server" "6.5.7"
"@storybook/core-client" "6.5.9"
"@storybook/core-server" "6.5.9"
"@storybook/csf-tools@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.7.tgz#93780a2eee892c1c92f33a0be1d3fd52cda770ce"
integrity sha512-/vBaknzD8c7H/Zsz0gwhmlNlMwe5slZwXadi6rAQXDkKLzaR1kmz4cQFs8yDR1wWpXaGjNvQxOUAGYjFoGQxzA==
"@storybook/csf-tools@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.9.tgz#8e01df2305b53e228229f0b45ada3720e6e42a1c"
integrity sha512-RAdhsO2XmEDyWy0qNQvdKMLeIZAuyfD+tYlUwBHRU6DbByDucvwgMOGy5dF97YNJFmyo93EUYJzXjUrJs3U1LQ==
dependencies:
"@babel/core" "^7.12.10"
"@babel/generator" "^7.12.11"
@@ -2577,33 +2578,33 @@
dependencies:
lodash "^4.17.15"
"@storybook/docs-tools@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.7.tgz#6ade71e90a84fbb92be708dc019adf7e7894724a"
integrity sha512-Aw9uUsqeuw0Z9fpiwxrstMNjNGB9s1Tm57SpMF8ibjLYBYFf5Apz5CwDX7bm6YFtCweaawx4MeQta8qnQMWCFw==
"@storybook/docs-tools@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.9.tgz#5ff304f881e972ce14923a5ffcfed3f052094889"
integrity sha512-UoTaXLvec8x+q+4oYIk/t8DBju9C3ZTGklqOxDIt+0kS3TFAqEgI3JhKXqQOXgN5zDcvLVSxi8dbVAeSxk2ktA==
dependencies:
"@babel/core" "^7.12.10"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/store" "6.5.7"
"@storybook/store" "6.5.9"
core-js "^3.8.2"
doctrine "^3.0.0"
lodash "^4.17.21"
regenerator-runtime "^0.13.7"
"@storybook/manager-webpack4@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.7.tgz#9e851022241f8b472da3c2b27d24b1f2c0085151"
integrity sha512-RmGsr/6PNsafaSm8aTD7e2VXSKT8BQ6Hkg6TAArLoS2TpIUvrNuM2hEqOHzm2POcApC+OE/HN1H0GiXBkH533Q==
"@storybook/manager-webpack4@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.9.tgz#c75d2cced4550c8a786f00b0e57b203d613e706c"
integrity sha512-49LZlHqWc7zj9tQfOOANixPYmLxqWTTZceA6DSXnKd9xDiO2Gl23Y+l/CSPXNZGDB8QFAwpimwqyKJj/NLH45A==
dependencies:
"@babel/core" "^7.12.10"
"@babel/plugin-transform-template-literals" "^7.12.1"
"@babel/preset-react" "^7.12.10"
"@storybook/addons" "6.5.7"
"@storybook/core-client" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/node-logger" "6.5.7"
"@storybook/theming" "6.5.7"
"@storybook/ui" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/core-client" "6.5.9"
"@storybook/core-common" "6.5.9"
"@storybook/node-logger" "6.5.9"
"@storybook/theming" "6.5.9"
"@storybook/ui" "6.5.9"
"@types/node" "^14.0.10 || ^16.0.0"
"@types/webpack" "^4.41.26"
babel-loader "^8.0.0"
@@ -2648,10 +2649,10 @@
prettier ">=2.2.1 <=2.3.0"
ts-dedent "^2.0.0"
"@storybook/node-logger@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.7.tgz#a31d91be3cd9d9f033d340b1dc2b8e1c0de61cb6"
integrity sha512-OrHu5p2E5i7P2v2hQAOtZw6Od1e2nrP6L7w5SxUPgccUnKUD9dRX5Y8qbAcPZO3XCkMLjpjAbC1xBXG0eFkn9g==
"@storybook/node-logger@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.9.tgz#129cfe0d0f79cab4f6a2ba194d39516680b1626f"
integrity sha512-nZZNZG2Wtwv6Trxi3FrnIqUmB55xO+X/WQGPT5iKlqNjdRIu/T72mE7addcp4rbuWCQfZUhcDDGpBOwKtBxaGg==
dependencies:
"@types/npmlog" "^4.1.2"
chalk "^4.1.0"
@@ -2659,24 +2660,24 @@
npmlog "^5.0.1"
pretty-hrtime "^1.0.3"
"@storybook/postinstall@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.7.tgz#5bca298bfdfe37dff9d42fa7588d3bdce3e1aa85"
integrity sha512-902JjgB2o+NiiLCPV0b4GHX9SbnY1OkvfvmkqpD3UqWh8djpkSQwvli9npM1J2NEu4BxCqbifYJI7V4JmZbdsw==
"@storybook/postinstall@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.9.tgz#a5a2565808e9d7bc310e78c279b09ce337fe3457"
integrity sha512-KQBupK+FMRrtSt8IL0MzCZ/w9qbd25Yxxp/+ajfWgZTRgsWgVFOqcDyMhS16eNbBp5qKIBCBDXfEF+/mK8HwQQ==
dependencies:
core-js "^3.8.2"
"@storybook/preview-web@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.7.tgz#1eb8e11756896390345a17bafe411146c2066a48"
integrity sha512-EH8gdl334D8EDVL1VJjRURcUou5Sv6BwgismL4E6wjSFmWxL9egxYDnGJJEh3mjIkAtGb0zpksYn/VNWPA8c8A==
"@storybook/preview-web@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.9.tgz#557d919e6df50d66259521aa36ebf4055bbd236e"
integrity sha512-4eMrO2HJyZUYyL/j+gUaDvry6iGedshwT5MQqe7J9FaA+Q2pNARQRB1X53f410w7S4sObRmYIAIluWPYdWym9w==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/channel-postmessage" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/channel-postmessage" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/store" "6.5.7"
"@storybook/store" "6.5.9"
ansi-to-html "^0.6.11"
core-js "^3.8.2"
global "^4.4.0"
@@ -2688,13 +2689,15 @@
unfetch "^4.2.0"
util-deprecate "^1.0.2"
"@storybook/router@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.7.tgz#3d962cbf5d9e9779d8dbd33a20d0210feb982635"
integrity sha512-edWEdAb8O0rSgdXoBZDDuNlQg2cOmC/nJ6gXj9zBotzmXqsbxWyjKGooG1dU6dnKshUqE1RmWF7/N1WMluLf0A==
"@storybook/router@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.9.tgz#4740248f8517425b2056273fb366ace8a17c65e8"
integrity sha512-G2Xp/2r8vU2O34eelE+G5VbEEVFDeHcCURrVJEROh6dq2asFJAPbzslVXSeCqgOTNLSpRDJ2NcN5BckkNqmqJg==
dependencies:
"@storybook/client-logger" "6.5.7"
"@storybook/client-logger" "6.5.9"
core-js "^3.8.2"
memoizerific "^1.11.3"
qs "^6.10.0"
regenerator-runtime "^0.13.7"
"@storybook/semver@^7.3.2":
@@ -2706,19 +2709,19 @@
find-up "^4.1.0"
"@storybook/server@^6.4.13":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/server/-/server-6.5.7.tgz#69921ef0af82a71d6b372e3c83b32f6bb3bffc36"
integrity sha512-utP4LjmcesQkRvAK7xnOaMIbumb4ySce80BLcMHT39Mg2SPM56nh6cwnZpDMEUgfIXnDPClgZK6b3DgEXzvbcQ==
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/server/-/server-6.5.9.tgz#8029b06656720d6a06f2df2b3c4fe9e95687f92a"
integrity sha512-gGj3SlyCTEwWa00DXdNBapVmhSg9QrHG700g7n0CHaYPAEtTkMncPewu5Ld/cFdhiu3wtqS3+0fx0+8YfaMRmA==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/api" "6.5.7"
"@storybook/client-api" "6.5.7"
"@storybook/core" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/api" "6.5.9"
"@storybook/client-api" "6.5.9"
"@storybook/core" "6.5.9"
"@storybook/core-common" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
"@storybook/node-logger" "6.5.7"
"@storybook/preview-web" "6.5.7"
"@storybook/store" "6.5.7"
"@storybook/node-logger" "6.5.9"
"@storybook/preview-web" "6.5.9"
"@storybook/store" "6.5.9"
"@types/node" "^14.14.20 || ^16.0.0"
"@types/webpack-env" "^1.16.0"
core-js "^3.8.2"
@@ -2731,13 +2734,13 @@
ts-dedent "^2.0.0"
yaml-loader "^0.6.0"
"@storybook/source-loader@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.5.7.tgz#c77ae805e02ce83975558973fe46b7366f810fb1"
integrity sha512-nj24TSGdF9J1gD5Fj9Z2hPRAQwqBJoBKD/fmTSFZop0qaJOOyeuxZR5022dQh8UWWoBa3WOQADMTNi5RqQZkiA==
"@storybook/source-loader@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.5.9.tgz#7b6f065c6a6108c4b4ca7e45bfd78707373d84ac"
integrity sha512-H03nFKaP6borfWMTTa9igBA+Jm2ph+FoVJImWC/X+LAmLSJYYSXuqSgmiZ/DZvbjxS4k8vccE2HXogne1IvaRA==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
core-js "^3.8.2"
estraverse "^5.2.0"
@@ -2747,14 +2750,14 @@
prettier ">=2.2.1 <=2.3.0"
regenerator-runtime "^0.13.7"
"@storybook/store@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.7.tgz#7f5220f76f72ed2ad38b3e0799ed51dc366ee496"
integrity sha512-d64towcdylC6TXNL2oJklCpwN3XcUGgZzQ9zgoV8BUlOlsj9tNq8eo95uzTURnLg1Q5uHoDDKWuXrrKj03HHxw==
"@storybook/store@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.9.tgz#dc9963fc013636569082bd8f7200804866373735"
integrity sha512-80pcDTcCwK6wUA63aWOp13urI77jfipIVee9mpVvbNyfrNN8kGv1BS0z/JHDxuV6rC4g7LG1fb+BurR0yki7BA==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/csf" "0.0.2--canary.4566f4d.1"
core-js "^3.8.2"
fast-deep-equal "^3.1.3"
@@ -2768,13 +2771,13 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
"@storybook/telemetry@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.7.tgz#744050ec84b8d8effeab448b9b2e190951a2e070"
integrity sha512-RHrjAConMqGIsu1TgNXztWtWOXTvvCHDWyGoLagCgZYgjGJ4sukp+ZtrbkayNDkkWWD0lpMzsdDEYCJuru/Sig==
"@storybook/telemetry@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.9.tgz#8e1e0d4a89fc2387620045e5ea96c109d16a7247"
integrity sha512-JluoHCRhHAr4X0eUNVBSBi1JIBA92404Tu1TPdbN7x6gCZxHXXPTSUTAnspXp/21cTdMhY2x+kfZQ8fmlGK4MQ==
dependencies:
"@storybook/client-logger" "6.5.7"
"@storybook/core-common" "6.5.7"
"@storybook/client-logger" "6.5.9"
"@storybook/core-common" "6.5.9"
chalk "^4.1.0"
core-js "^3.8.2"
detect-package-manager "^2.0.1"
@@ -2786,30 +2789,33 @@
read-pkg-up "^7.0.1"
regenerator-runtime "^0.13.7"
"@storybook/theming@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.5.7.tgz#63afa3838a9c1ba07d443ce6988f6ed99af62b75"
integrity sha512-6zp1V84DSBcS8BtFOCJlF2/nIonjQmr+dILPxaM3lCm/X003i2jAQrBKTfPlmzCeDn07PBhzHaRJ3wJskfmeNw==
"@storybook/theming@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.5.9.tgz#13f60a3a3cd73ceb5caf9f188e1627e79f1891aa"
integrity sha512-KM0AMP5jMQPAdaO8tlbFCYqx9uYM/hZXGSVUhznhLYu7bhNAIK7ZVmXxyE/z/khM++8eUHzRoZGiO/cwCkg9Xw==
dependencies:
"@storybook/client-logger" "6.5.7"
"@storybook/client-logger" "6.5.9"
core-js "^3.8.2"
memoizerific "^1.11.3"
regenerator-runtime "^0.13.7"
"@storybook/ui@6.5.7":
version "6.5.7"
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.7.tgz#d4814c88bd1ca4781891611c2c1fbb23e221d95a"
integrity sha512-NOg44bc/w7FweuM2fa99PxsgI9qoG2p5vhTQ4MOI/7QnOUDn+EenlapsRos+/Sk2XTaB2QmM43boUkravMSouA==
"@storybook/ui@6.5.9":
version "6.5.9"
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.9.tgz#41e59279323cccc0d613974ec9782d797220c8a7"
integrity sha512-ryuPxJgtbb0gPXKGgGAUC+Z185xGAd1IvQ0jM5fJ0SisHXI8jteG3RaWhntOehi9qCg+64Vv6eH/cj9QYNHt1Q==
dependencies:
"@storybook/addons" "6.5.7"
"@storybook/api" "6.5.7"
"@storybook/channels" "6.5.7"
"@storybook/client-logger" "6.5.7"
"@storybook/components" "6.5.7"
"@storybook/core-events" "6.5.7"
"@storybook/router" "6.5.7"
"@storybook/addons" "6.5.9"
"@storybook/api" "6.5.9"
"@storybook/channels" "6.5.9"
"@storybook/client-logger" "6.5.9"
"@storybook/components" "6.5.9"
"@storybook/core-events" "6.5.9"
"@storybook/router" "6.5.9"
"@storybook/semver" "^7.3.2"
"@storybook/theming" "6.5.7"
"@storybook/theming" "6.5.9"
core-js "^3.8.2"
memoizerific "^1.11.3"
qs "^6.10.0"
regenerator-runtime "^0.13.7"
resolve-from "^5.0.0"