cloudcommerce 0.3.0 → 0.4.1

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.
Files changed (117) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/package.json +8 -8
  3. package/packages/api/package.json +1 -1
  4. package/packages/apps/correios/package.json +2 -2
  5. package/packages/apps/custom-payment/package.json +1 -1
  6. package/packages/apps/custom-shipping/package.json +1 -1
  7. package/packages/apps/datafrete/package.json +3 -3
  8. package/packages/apps/discounts/package.json +1 -1
  9. package/packages/apps/emails/package.json +1 -1
  10. package/packages/apps/fb-conversions/package.json +2 -2
  11. package/packages/apps/frenet/package.json +3 -3
  12. package/packages/apps/galaxpay/package.json +3 -3
  13. package/packages/apps/google-analytics/package.json +3 -3
  14. package/packages/apps/infinitepay/lib/ip-create-transaction.js +1 -1
  15. package/packages/apps/infinitepay/lib/ip-create-transaction.js.map +1 -1
  16. package/packages/apps/infinitepay/package.json +3 -3
  17. package/packages/apps/infinitepay/src/ip-create-transaction.ts +1 -1
  18. package/packages/apps/jadlog/package.json +2 -2
  19. package/packages/apps/loyalty-points/package.json +1 -1
  20. package/packages/apps/melhor-envio/package.json +3 -3
  21. package/packages/apps/mercadopago/package.json +3 -3
  22. package/packages/apps/pagarme/package.json +3 -3
  23. package/packages/apps/paghiper/package.json +3 -3
  24. package/packages/apps/pix/package.json +3 -3
  25. package/packages/apps/tiny-erp/package.json +3 -3
  26. package/packages/apps/webhooks/CHANGELOG.md +1 -0
  27. package/packages/apps/webhooks/README.md +1 -0
  28. package/packages/apps/webhooks/lib/app-webhooks.js +9 -0
  29. package/packages/apps/webhooks/lib/app-webhooks.js.map +1 -0
  30. package/packages/apps/webhooks/lib/events-to-webhooks-app.js +127 -0
  31. package/packages/apps/webhooks/lib/events-to-webhooks-app.js.map +1 -0
  32. package/packages/apps/webhooks/lib/index.js +2 -0
  33. package/packages/apps/webhooks/lib/index.js.map +1 -0
  34. package/packages/apps/webhooks/package.json +32 -0
  35. package/packages/apps/webhooks/src/app-webhooks.ts +14 -0
  36. package/packages/apps/webhooks/src/events-to-webhooks-app.ts +178 -0
  37. package/packages/apps/webhooks/src/index.ts +1 -0
  38. package/packages/apps/webhooks/tsconfig.json +3 -0
  39. package/packages/cli/lib/setup-gcloud.js +120 -20
  40. package/packages/cli/package.json +1 -1
  41. package/packages/cli/src/cli.ts +1 -1
  42. package/packages/cli/src/setup-gcloud.ts +146 -21
  43. package/packages/config/package.json +1 -1
  44. package/packages/emails/package.json +2 -2
  45. package/packages/emails/tests/assets/order.json +1 -1
  46. package/packages/events/lib/firebase.js +2 -0
  47. package/packages/events/lib/firebase.js.map +1 -1
  48. package/packages/events/package.json +3 -2
  49. package/packages/events/src/firebase.ts +2 -0
  50. package/packages/firebase/lib/config.d.ts +4 -0
  51. package/packages/firebase/lib/config.js +10 -1
  52. package/packages/firebase/lib/config.js.map +1 -1
  53. package/packages/firebase/lib/handlers/check-store-events.js +13 -4
  54. package/packages/firebase/lib/handlers/check-store-events.js.map +1 -1
  55. package/packages/firebase/package.json +2 -2
  56. package/packages/firebase/src/config.ts +10 -7
  57. package/packages/firebase/src/handlers/check-store-events.ts +14 -4
  58. package/packages/i18n/package.json +1 -1
  59. package/packages/modules/lib/firebase/checkout.js +4 -4
  60. package/packages/modules/lib/firebase/checkout.js.map +1 -1
  61. package/packages/modules/package.json +3 -3
  62. package/packages/modules/schemas/@checkout.cjs +0 -5
  63. package/packages/modules/schemas/create_transaction.cjs +6 -1
  64. package/packages/modules/src/firebase/checkout.ts +4 -4
  65. package/packages/passport/package.json +2 -2
  66. package/packages/ssr/package.json +7 -7
  67. package/packages/storefront/dist/client/_astro/PitchBar.004b6ea4.js +1 -0
  68. package/packages/storefront/dist/client/_astro/Prices.f311909a.js +1 -0
  69. package/packages/storefront/dist/client/_astro/Prices.vue_vue_type_script_setup_true_lang.ef47de70.js +1 -0
  70. package/packages/storefront/dist/client/_astro/ProductCard.34de5097.js +1 -0
  71. package/packages/storefront/dist/client/_astro/ShopHeader.cbfee289.js +1 -0
  72. package/packages/storefront/dist/client/_astro/{_...slug_.32968ccf.css → _...slug_.bcc33d9d.css} +1 -1
  73. package/packages/storefront/dist/client/_astro/{client.5a46cc02.js → client.56d86c9b.js} +1 -1
  74. package/packages/storefront/dist/client/_astro/index.0c833781.css +1 -0
  75. package/packages/storefront/dist/client/_astro/index.2d12be6c.js +1 -0
  76. package/packages/storefront/dist/client/_astro/{modules-info.d9373e21.js → modules-info.0debb0b0.js} +1 -1
  77. package/packages/storefront/dist/client/_astro/runtime-core.esm-bundler.a0432a8e.js +1 -0
  78. package/packages/storefront/dist/client/_astro/{runtime-dom.esm-bundler.00313542.js → runtime-dom.esm-bundler.0e5774ce.js} +1 -1
  79. package/packages/storefront/dist/client/fallback/index.html +10 -10
  80. package/packages/storefront/dist/client/sw.js +1 -1
  81. package/packages/storefront/dist/server/chunks/{astro.89bd9221.mjs → astro.0f5b754a.mjs} +871 -826
  82. package/packages/storefront/dist/server/chunks/pages/{all.23de4e5c.mjs → all.671e6bc1.mjs} +367 -466
  83. package/packages/storefront/dist/server/chunks/{prerender.f40361a3.mjs → prerender.fd8cdc24.mjs} +0 -0
  84. package/packages/storefront/dist/server/entry.mjs +20 -12
  85. package/packages/storefront/package.json +11 -11
  86. package/packages/storefront/src/lib/components/Drawer.vue +48 -45
  87. package/packages/storefront/src/lib/components/ProductCard.vue +1 -1
  88. package/packages/storefront/src/lib/components/ShopHeader.vue +42 -13
  89. package/packages/storefront/src/lib/components/ShopSidenav.vue +26 -0
  90. package/packages/storefront/src/lib/composables/use-pitch-bar.ts +27 -0
  91. package/packages/storefront/src/lib/composables/use-sticky-header.ts +111 -0
  92. package/packages/storefront/src/lib/layouts/BaseBody.astro +3 -1
  93. package/packages/storefront/src/lib/layouts/PagesHeader.astro +16 -25
  94. package/packages/types/index.ts +1 -0
  95. package/packages/types/modules/@checkout:params.d.ts +1 -5
  96. package/packages/types/modules/apply_discount:params.d.ts +1 -1
  97. package/packages/types/modules/apply_discount:response.d.ts +1 -1
  98. package/packages/types/modules/calculate_shipping:params.d.ts +1 -1
  99. package/packages/types/modules/calculate_shipping:response.d.ts +1 -1
  100. package/packages/types/modules/create_transaction:params.d.ts +6 -2
  101. package/packages/types/modules/create_transaction:response.d.ts +1 -1
  102. package/packages/types/modules/list_payments:params.d.ts +1 -1
  103. package/packages/types/modules/list_payments:response.d.ts +1 -1
  104. package/packages/types/package.json +1 -1
  105. package/packages/storefront/dist/client/_astro/PitchBar.209c6645.js +0 -1
  106. package/packages/storefront/dist/client/_astro/Prices.6fbcb5ac.js +0 -1
  107. package/packages/storefront/dist/client/_astro/Prices.vue_vue_type_script_setup_true_lang.44f23680.js +0 -1
  108. package/packages/storefront/dist/client/_astro/ProductCard.ee5eee91.js +0 -1
  109. package/packages/storefront/dist/client/_astro/ShopHeader.b801c785.js +0 -1
  110. package/packages/storefront/dist/client/_astro/index.844a4059.js +0 -1
  111. package/packages/storefront/dist/client/_astro/index.90df622b.css +0 -1
  112. package/packages/storefront/dist/client/_astro/runtime-core.esm-bundler.f04cee62.js +0 -1
  113. package/packages/storefront/dist/client/_astro/use-component-variant.58788b6e.js +0 -1
  114. package/packages/storefront/src/lib/components/PitchBar.vue +0 -66
  115. package/packages/storefront/src/lib/components/Prices.vue +0 -176
  116. package/packages/storefront/src/lib/components/StickyHeader.vue +0 -84
  117. package/packages/storefront/src/lib/composables/use-component-variant.ts +0 -17
@@ -1,176 +0,0 @@
1
- <script setup lang="ts">
2
- import type { Products, ListPaymentsResponse } from '@cloudcommerce/types';
3
- import usePrices from '@@sf/composables/use-prices';
4
- import useComponentVariant from '@@sf/composables/use-component-variant';
5
-
6
- export interface Props {
7
- product?: Partial<Products> & { price: number, final_price?: number };
8
- price?: number;
9
- basePrice?: number;
10
- isAmountTotal?: boolean;
11
- installmentsOption?: ListPaymentsResponse['installments_option'];
12
- discountOption?: ListPaymentsResponse['discount_option'];
13
- isBig?: boolean;
14
- isLiteral?: boolean;
15
- hasCashback?: boolean;
16
- hasPriceOptions?: boolean;
17
- }
18
-
19
- const props = withDefaults(defineProps<Props>(), {
20
- hasCashback: true,
21
- hasPriceOptions: true,
22
- });
23
- const prices = usePrices(props);
24
- const {
25
- hasVariedPrices,
26
- salePrice,
27
- comparePrice,
28
- cashbackPercentage,
29
- cashbackValue,
30
- installmentsNumber,
31
- monthlyInterest,
32
- installmentValue,
33
- priceWithDiscount,
34
- discountLabel,
35
- } = prices;
36
- const componentVariant = useComponentVariant(props);
37
- </script>
38
-
39
- <template>
40
- <div class="text-base-600" :data-prices="componentVariant">
41
- <slot v-if="comparePrice" name="compare" v-bind="{ salePrice, comparePrice }">
42
- <span class="text-base-500 mr-1" data-prices-compare>
43
- <slot name="compare-pre">
44
- <small v-if="isLiteral">
45
- {{ `${$t.i19from} ` }}
46
- </small>
47
- </slot>
48
- <slot name="compare-value" v-bind="{ salePrice, comparePrice }">
49
- <s>{{ $money(comparePrice) }}</s>
50
- </slot>
51
- <slot name="compare-post">
52
- <small v-if="isLiteral">
53
- {{ ` ${$t.i19to}` }}
54
- </small>
55
- </slot>
56
- </span>
57
- </slot>
58
- <slot name="sale" v-bind="{ salePrice }">
59
- <strong class="inline-block text-base-800" data-prices-sale>
60
- <slot name="sale-pre">
61
- <small v-if="hasVariedPrices">
62
- {{ `${$t.i19asOf} ` }}
63
- </small>
64
- </slot>
65
- <slot name="sale-value" v-bind="{ salePrice }">
66
- {{ $money(salePrice) }}
67
- </slot>
68
- <slot name="sale-post" />
69
- </strong>
70
- </slot>
71
- <Fade slide="down">
72
- <slot
73
- v-if="cashbackValue"
74
- name="cashback"
75
- v-bind="{ salePrice, cashbackValue, cashbackPercentage }"
76
- >
77
- <div v-if="hasCashback" class="relative z-10" data-prices-cashback>
78
- <span :data-tooltip="$t.i19get$1back
79
- .replace('$1', $percentage(cashbackPercentage))">
80
- <slot name="cashback-pre">
81
- <i class="i-cashback mr-1"></i>
82
- </slot>
83
- <slot
84
- name="cashback-value"
85
- v-bind="{ salePrice, cashbackValue, cashbackPercentage }"
86
- >
87
- <span class="font-medium">
88
- {{ $money(cashbackValue) }}
89
- </span>
90
- </slot>
91
- <slot name="cashback-post">
92
- <small> cashback</small>
93
- </slot>
94
- </span>
95
- </div>
96
- </slot>
97
- </Fade>
98
- <Fade slide="down">
99
- <slot
100
- v-if="installmentValue"
101
- name="installment"
102
- v-bind="{ salePrice, installmentValue, installmentsNumber, monthlyInterest }"
103
- >
104
- <div v-if="hasPriceOptions" data-prices-installment>
105
- <slot name="installment-pre">
106
- <small v-if="isLiteral">
107
- {{ `${$t.i19upTo} ` }}
108
- </small>
109
- </slot>
110
- <slot
111
- name="installment-value"
112
- v-bind="{ salePrice, installmentValue, installmentsNumber, monthlyInterest }"
113
- >
114
- {{ installmentsNumber }}x
115
- <small v-if="isLiteral">
116
- {{ ` ${$t.i19of} ` }}
117
- </small>
118
- <span>{{ $money(installmentValue) }}</span>
119
- </slot>
120
- <slot name="installment-post">
121
- <small v-if="!monthlyInterest && isLiteral">
122
- {{ $t.i19interestFree }}
123
- </small>
124
- </slot>
125
- </div>
126
- </slot>
127
- </Fade>
128
- <Fade slide="down">
129
- <slot
130
- v-if="priceWithDiscount < salePrice"
131
- name="discount"
132
- v-bind="{ salePrice, priceWithDiscount, discountLabel }"
133
- >
134
- <div v-if="hasPriceOptions" data-prices-discount>
135
- <slot name="discount-pre">
136
- <small v-if="!discountLabel">
137
- {{ `${$t.i19asOf} ` }}
138
- </small>
139
- </slot>
140
- <slot
141
- name="discount-value"
142
- v-bind="{ salePrice, priceWithDiscount, discountLabel }"
143
- >
144
- <span>{{ $money(priceWithDiscount) }}</span>
145
- </slot>
146
- <slot name="discount-post">
147
- <small v-if="discountLabel">
148
- {{ ` ${discountLabel}` }}
149
- </small>
150
- </slot>
151
- </div>
152
- </slot>
153
- </Fade>
154
- </div>
155
- </template>
156
-
157
- <style>
158
- [data-prices-compare] {
159
- font-size: 87%;
160
- }
161
- [data-prices-cashback],
162
- [data-prices-installment],
163
- [data-prices-discount] {
164
- font-size: 90%;
165
- }
166
- [data-prices] small {
167
- @apply lowercase;
168
- font-size: 92%;
169
- }
170
- [data-prices~=Big] {
171
- @apply text-lg;
172
- }
173
- [data-prices~=Big] [data-prices-sale] {
174
- @apply text-5xl block;
175
- }
176
- </style>
@@ -1,84 +0,0 @@
1
- <script setup lang="ts">
2
- import {
3
- ref,
4
- computed,
5
- watch,
6
- reactive,
7
- onMounted,
8
- } from 'vue';
9
- import {
10
- promiseTimeout,
11
- useTimeout,
12
- useDebounceFn,
13
- useScroll,
14
- } from '@vueuse/core';
15
- import useComponentVariant from '@@sf/composables/use-component-variant';
16
-
17
- export interface Props {
18
- isShownOnScrollDown?: boolean;
19
- }
20
-
21
- const props = defineProps<Props>();
22
- const header = ref<HTMLElement | null>(null);
23
- const { ready, start } = useTimeout(100, { controls: true, immediate: false });
24
- const height = ref(0);
25
- if (!import.meta.env.SSR) {
26
- onMounted(() => {
27
- const fixHeight = () => {
28
- height.value = header.value.offsetHeight;
29
- start();
30
- };
31
- const imgs = header.value.getElementsByTagName('IMG');
32
- let isAllLoaded = true;
33
- for (let i = 0; i < imgs.length; i++) {
34
- const img = imgs[i] as HTMLImageElement;
35
- if (!img.complete || img.naturalHeight === 0) {
36
- isAllLoaded = false;
37
- img.onload = fixHeight;
38
- }
39
- }
40
- if (isAllLoaded) {
41
- fixHeight();
42
- }
43
- window.addEventListener('resize', useDebounceFn(fixHeight, 300));
44
- });
45
- }
46
- const { y } = !import.meta.env.SSR ? useScroll(document) : { y: ref(0) };
47
- const isSticky = computed(() => ready.value && y.value > height.value * 1.5);
48
- const transition = ref('none');
49
- watch(isSticky, async (isSetSticky) => {
50
- if (!isSetSticky) {
51
- start();
52
- transition.value = 'none';
53
- } else {
54
- await promiseTimeout(300);
55
- transition.value = 'opacity var(--transition-slow), transform var(--transition)';
56
- }
57
- });
58
- const isScrollUp = ref(false);
59
- watch(y, (newY, oldY) => {
60
- isScrollUp.value = newY > 0 && newY < oldY;
61
- });
62
- const componentVariant = useComponentVariant(reactive({
63
- ...props,
64
- isSticky,
65
- isScrollUp,
66
- }));
67
- </script>
68
-
69
- <template>
70
- <div :style="isSticky ? `height: ${height}px` : null"></div>
71
- <header
72
- ref="header"
73
- class="z-50 top-0 will-change-transform"
74
- :class="{
75
- 'sticky bg-white/80 backdrop-blur-md shadow py-2 md:py-3': isSticky,
76
- 'opacity-0 -translate-y-full': isSticky && (!isScrollUp || isShownOnScrollDown),
77
- 'py-3 sm:py-4 md:py-5': !isSticky,
78
- }"
79
- :style="{ transition }"
80
- :data-sticky-header="componentVariant"
81
- >
82
- <slot/>
83
- </header>
84
- </template>
@@ -1,17 +0,0 @@
1
- import { computed } from 'vue';
2
-
3
- const useComponentVariant = (props: Record<string, any>, stringProps?: string[]) => {
4
- return computed(() => {
5
- let variantName = '';
6
- Object.keys(props).forEach((prop) => {
7
- if (props[prop] === true && prop !== 'modelValue') {
8
- variantName += ` ${prop.replace(/^(is|has)/, '')}`;
9
- } else if (stringProps && stringProps.includes(prop)) {
10
- variantName += ` ${prop}:${props[prop]}`;
11
- }
12
- });
13
- return variantName.slice(1);
14
- });
15
- };
16
-
17
- export default useComponentVariant;