@websolutespa/bom-mixer-ui 0.5.1 → 1.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.
Files changed (110) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/index.js +55 -17
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/components/meta/meta.js +11 -8
  5. package/dist/esm/components/meta/meta.js.map +1 -1
  6. package/dist/esm/components/page-nav/page-nav.js +4 -4
  7. package/dist/esm/components/page-nav/page-nav.js.map +1 -1
  8. package/dist/esm/components/text/text.js +1 -0
  9. package/dist/esm/components/text/text.js.map +1 -1
  10. package/dist/esm/fields/field-accept.js +1 -0
  11. package/dist/esm/fields/field-accept.js.map +1 -1
  12. package/dist/esm/fields/field-autocomplete.js +1 -0
  13. package/dist/esm/fields/field-autocomplete.js.map +1 -1
  14. package/dist/esm/fields/field-card.js +1 -0
  15. package/dist/esm/fields/field-card.js.map +1 -1
  16. package/dist/esm/fields/field-checkbox.js +1 -0
  17. package/dist/esm/fields/field-checkbox.js.map +1 -1
  18. package/dist/esm/fields/field-password.js +1 -0
  19. package/dist/esm/fields/field-password.js.map +1 -1
  20. package/dist/esm/fields/field-select.js +1 -0
  21. package/dist/esm/fields/field-select.js.map +1 -1
  22. package/dist/esm/fields/field-text.js +1 -0
  23. package/dist/esm/fields/field-text.js.map +1 -1
  24. package/dist/esm/forms/form-tester/form-tester.js +8 -1
  25. package/dist/esm/forms/form-tester/form-tester.js.map +1 -1
  26. package/dist/esm/forms/form-tester/useFormTester.js +22 -0
  27. package/dist/esm/forms/form-tester/useFormTester.js.map +1 -0
  28. package/dist/esm/index.js +1 -0
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/sections/auth/auth-change-password.js +1 -0
  31. package/dist/esm/sections/auth/auth-change-password.js.map +1 -1
  32. package/dist/esm/sections/auth/auth-forgot.js +1 -0
  33. package/dist/esm/sections/auth/auth-forgot.js.map +1 -1
  34. package/dist/esm/sections/auth/auth-form.js +1 -0
  35. package/dist/esm/sections/auth/auth-form.js.map +1 -1
  36. package/dist/esm/sections/auth/auth-login.js +1 -0
  37. package/dist/esm/sections/auth/auth-login.js.map +1 -1
  38. package/dist/esm/sections/auth/auth-register.js +1 -0
  39. package/dist/esm/sections/auth/auth-register.js.map +1 -1
  40. package/dist/esm/sections/auth/auth-update.js +1 -0
  41. package/dist/esm/sections/auth/auth-update.js.map +1 -1
  42. package/dist/esm/sections/cart-mini/cart-mini-item.js +1 -0
  43. package/dist/esm/sections/cart-mini/cart-mini-item.js.map +1 -1
  44. package/dist/esm/sections/checkout/checkout-basket-item.js +1 -0
  45. package/dist/esm/sections/checkout/checkout-basket-item.js.map +1 -1
  46. package/dist/esm/sections/checkout/checkout-delivery.js +1 -0
  47. package/dist/esm/sections/checkout/checkout-delivery.js.map +1 -1
  48. package/dist/esm/sections/checkout/checkout-discount.js +1 -0
  49. package/dist/esm/sections/checkout/checkout-discount.js.map +1 -1
  50. package/dist/esm/sections/checkout/checkout-payment.js +1 -0
  51. package/dist/esm/sections/checkout/checkout-payment.js.map +1 -1
  52. package/dist/esm/sections/checkout/checkout-review.js +1 -0
  53. package/dist/esm/sections/checkout/checkout-review.js.map +1 -1
  54. package/dist/esm/sections/checkout/checkout-user-info.js +1 -0
  55. package/dist/esm/sections/checkout/checkout-user-info.js.map +1 -1
  56. package/dist/esm/sections/contact-form/contact-form.js +1 -0
  57. package/dist/esm/sections/contact-form/contact-form.js.map +1 -1
  58. package/dist/esm/sections/contact-hero/contact-hero.js +5 -3
  59. package/dist/esm/sections/contact-hero/contact-hero.js.map +1 -1
  60. package/dist/esm/sections/header/header.js +3 -3
  61. package/dist/esm/sections/header/header.js.map +1 -1
  62. package/dist/esm/sections/icons/icons.js +1 -0
  63. package/dist/esm/sections/icons/icons.js.map +1 -1
  64. package/dist/esm/sections/magazine-search/magazine-search-filters.js +1 -0
  65. package/dist/esm/sections/magazine-search/magazine-search-filters.js.map +1 -1
  66. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js +2 -0
  67. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js.map +1 -1
  68. package/dist/esm/sections/order/order-register.js +1 -0
  69. package/dist/esm/sections/order/order-register.js.map +1 -1
  70. package/dist/esm/sections/product-overview/product-overview.js +1 -0
  71. package/dist/esm/sections/product-overview/product-overview.js.map +1 -1
  72. package/dist/esm/sections/products-search/products-search-filters.js +1 -0
  73. package/dist/esm/sections/products-search/products-search-filters.js.map +1 -1
  74. package/dist/esm/sections/products-search/products-search.js +1 -0
  75. package/dist/esm/sections/products-search/products-search.js.map +1 -1
  76. package/dist/esm/sections/shop-search/shop-search-card.js.map +1 -1
  77. package/dist/esm/sections/shop-search/shop-search-filters.js +1 -0
  78. package/dist/esm/sections/shop-search/shop-search-filters.js.map +1 -1
  79. package/dist/esm/sections/shop-search/shop-search.js +1 -0
  80. package/dist/esm/sections/shop-search/shop-search.js.map +1 -1
  81. package/dist/esm/sections/store-locator/store-locator-search.js +4 -0
  82. package/dist/esm/sections/store-locator/store-locator-search.js.map +1 -1
  83. package/dist/esm/theme/styles/_base.js +4 -0
  84. package/dist/esm/theme/styles/_base.js.map +1 -1
  85. package/dist/types/components/meta/meta.d.ts.map +1 -1
  86. package/dist/types/components/text/text.d.ts.map +1 -1
  87. package/dist/types/forms/form-tester/form-tester.d.ts.map +1 -1
  88. package/dist/types/forms/form-tester/useFormTester.d.ts +11 -0
  89. package/dist/types/forms/form-tester/useFormTester.d.ts.map +1 -0
  90. package/dist/types/forms/index.d.ts +1 -0
  91. package/dist/types/forms/index.d.ts.map +1 -1
  92. package/dist/types/sections/checkout/checkout-review.d.ts.map +1 -1
  93. package/dist/types/sections/contact-hero/contact-hero.d.ts.map +1 -1
  94. package/dist/types/sections/shop-search/shop-search-card.d.ts +1 -0
  95. package/dist/types/sections/shop-search/shop-search-card.d.ts.map +1 -1
  96. package/dist/types/theme/styles/_base.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/src/components/meta/meta.tsx +8 -4
  99. package/src/components/page-nav/page-nav.tsx +4 -4
  100. package/src/components/text/text.tsx +1 -0
  101. package/src/forms/form-tester/form-tester.tsx +5 -5
  102. package/src/forms/form-tester/useFormTester.tsx +24 -0
  103. package/src/forms/index.ts +1 -0
  104. package/src/sections/checkout/checkout-review.tsx +0 -2
  105. package/src/sections/contact-hero/contact-hero.tsx +12 -4
  106. package/src/sections/header/header.tsx +3 -3
  107. package/src/sections/markets-and-languages/markets-and-languages-drawer.tsx +1 -1
  108. package/src/sections/shop-search/shop-search-card.tsx +1 -0
  109. package/src/sections/store-locator/store-locator-search.tsx +1 -1
  110. package/src/theme/styles/_base.ts +4 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @websolutespa/bom-mixer-ui
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Added: useFormTester.
8
+
3
9
  ## 0.5.1
4
10
 
5
11
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -3477,6 +3477,10 @@ body {
3477
3477
  scroll-behavior: smooth;
3478
3478
  }
3479
3479
 
3480
+ body {
3481
+ height: auto;
3482
+ }
3483
+
3480
3484
  .negative {
3481
3485
  background: var(--color-neutral-900);
3482
3486
  color: var(--color-neutral-100);
@@ -4737,6 +4741,7 @@ const StyledText = styled__default.default.div`
4737
4741
  ${font.fontWeight ? styled.css`font-weight: var(--font-${variant}-font-weight, inherit);` : ''}
4738
4742
  `)};
4739
4743
  ${props => props.gradient ? styled.css`
4744
+ display: -webkit-inline-box;
4740
4745
  background: -webkit-linear-gradient(0deg, var(--color-secondary-500), var(--color-primary-500));
4741
4746
  -webkit-background-clip: text;
4742
4747
  -webkit-text-fill-color: transparent;
@@ -5029,7 +5034,7 @@ MediaGallery.displayName = 'MediaGallery';
5029
5034
 
5030
5035
  const origin = process.env.NEXT_PUBLIC_URL;
5031
5036
  function Meta() {
5032
- var _a, _b, _c, _d;
5037
+ var _a, _b, _c;
5033
5038
  const page = bomMixerHooks.usePage();
5034
5039
  return jsxRuntime.jsxs(Head__default.default, {
5035
5040
  children: [jsxRuntime.jsx("title", {
@@ -5037,18 +5042,19 @@ function Meta() {
5037
5042
  }), jsxRuntime.jsx("meta", {
5038
5043
  name: "description",
5039
5044
  content: (_b = page.meta) === null || _b === void 0 ? void 0 : _b.description
5040
- }), jsxRuntime.jsx("meta", {
5041
- name: "keywords",
5042
- content: (_c = page.meta) === null || _c === void 0 ? void 0 : _c.keywords
5043
- }), jsxRuntime.jsx("meta", {
5045
+ }), bomCore.isProduction ? jsxRuntime.jsx("meta", {
5046
+ name: "robots",
5047
+ content: ((_c = page.meta) === null || _c === void 0 ? void 0 : _c.robots) || 'index, follow'
5048
+ }) : jsxRuntime.jsx("meta", {
5044
5049
  name: "robots",
5045
- content: (_d = page.meta) === null || _d === void 0 ? void 0 : _d.robots
5050
+ content: "noindex, nofollow"
5046
5051
  }), page.href && jsxRuntime.jsx("link", {
5047
5052
  rel: "canonical",
5048
5053
  href: origin + page.href
5049
5054
  }), page.alternates && page.alternates.map(alternate => jsxRuntime.jsx("link", {
5050
5055
  rel: "alternate",
5051
- href: origin + alternate.id
5056
+ href: origin + alternate.id,
5057
+ hrefLang: alternate.locale
5052
5058
  }, `${alternate.locale}-${alternate.market}`)), page.media && jsxRuntime.jsx("meta", {
5053
5059
  property: "og:image",
5054
5060
  content: origin + page.media.src
@@ -5076,7 +5082,8 @@ function Meta() {
5076
5082
  href: "/favicon.ico"
5077
5083
  }), jsxRuntime.jsx("link", {
5078
5084
  rel: "manifest",
5079
- href: "/site.webmanifest"
5085
+ href: "/site.webmanifest",
5086
+ crossOrigin: "use-credentials"
5080
5087
  }), jsxRuntime.jsx("link", {
5081
5088
  rel: "mask-icon",
5082
5089
  href: "/safari-pinned-tab.svg",
@@ -5206,12 +5213,12 @@ const PageNav = props => {
5206
5213
  const scrollTo = bomMixerHooks.useScrollTo();
5207
5214
  const onScroll = () => {
5208
5215
  if (innerRef.current) {
5209
- const scrollTop = window.pageYOffset;
5216
+ const scrollTop = window.scrollY;
5210
5217
  const ids = props.items.map(x => x.href);
5211
5218
  const anchorTargets = ids.map(id => document.querySelector(id)).filter(x => x);
5212
5219
  const activeTarget = anchorTargets.reduce((p, c, i) => {
5213
- // const previousTop = p ? (p.offsetTop - window.pageYOffset) : Number.NEGATIVE_INFINITY;
5214
- const top = c.offsetTop - window.pageYOffset;
5220
+ // const previousTop = p ? (p.offsetTop - window.scrollY) : Number.NEGATIVE_INFINITY;
5221
+ const top = c.offsetTop - window.scrollY;
5215
5222
  // if (top < window.innerHeight && previousTop < 0) {
5216
5223
  if (top < window.innerHeight / 2) {
5217
5224
  return c;
@@ -5223,7 +5230,7 @@ const PageNav = props => {
5223
5230
  setId((activeTarget === null || activeTarget === void 0 ? void 0 : activeTarget.id) || null);
5224
5231
  const top = innerRef.current.offsetTop - scrollTop;
5225
5232
  const lastTarget = anchorTargets.length ? anchorTargets[anchorTargets.length - 1] : null;
5226
- const lastTargetBottom = lastTarget ? lastTarget.offsetTop + lastTarget.offsetHeight - window.pageYOffset : Number.NEGATIVE_INFINITY;
5233
+ const lastTargetBottom = lastTarget ? lastTarget.offsetTop + lastTarget.offsetHeight - window.scrollY : Number.NEGATIVE_INFINITY;
5227
5234
  const isScrolled = top < 0 && lastTargetBottom > 0;
5228
5235
  setScrolled(isScrolled);
5229
5236
  }
@@ -7853,6 +7860,22 @@ const formTesterVariants = {
7853
7860
  default: CssFormTesterDefault
7854
7861
  };
7855
7862
 
7863
+ const defaultFormTester = {
7864
+ enabled: bomCore.isDevelopment
7865
+ };
7866
+ const [useFormTester, FormTesterContextProvider] = bomMixerHooks.createGenericContext(defaultFormTester);
7867
+ function FormTesterProvider(_ref) {
7868
+ let {
7869
+ children,
7870
+ options
7871
+ } = _ref;
7872
+ return jsxRuntime.jsx(FormTesterContextProvider, Object.assign({
7873
+ value: Object.assign(Object.assign({}, defaultFormTester), options)
7874
+ }, {
7875
+ children: children
7876
+ }));
7877
+ }
7878
+
7856
7879
  const StyledFormTester = styled__default.default.div`
7857
7880
  ${props => getVariant(props.variant, props.variants)}
7858
7881
  ${props => getCssResponsive(props)}
@@ -7868,9 +7891,14 @@ const FormTester = /*#__PURE__*/React.forwardRef((_a, ref) => {
7868
7891
  } = _a,
7869
7892
  props = __rest(_a, ["className", "form", "onReset", "onTest", "variant", "variants"]);
7870
7893
  const label = bomMixerHooks.useLabel();
7871
- const classNames = bomCore.getClassNames('input', className, variant);
7872
7894
  const globalVariants = useVariants('formTester', formTesterVariants);
7873
7895
  variants = variants || globalVariants;
7896
+ const {
7897
+ enabled
7898
+ } = useFormTester();
7899
+ if (!enabled) {
7900
+ return null;
7901
+ }
7874
7902
  const onReset_ = event => {
7875
7903
  onReset && onReset(event);
7876
7904
  };
@@ -7878,6 +7906,7 @@ const FormTester = /*#__PURE__*/React.forwardRef((_a, ref) => {
7878
7906
  onTest && onTest(event);
7879
7907
  };
7880
7908
  const json = form ? JSON.stringify(form.value, null, 2) : null;
7909
+ const classNames = bomCore.getClassNames('input', className, variant);
7881
7910
  return jsxRuntime.jsx(StyledFormTester, Object.assign({
7882
7911
  ref: ref,
7883
7912
  className: classNames,
@@ -15236,6 +15265,8 @@ const ContactForm = props => {
15236
15265
 
15237
15266
  const ContactHero = _ref => {
15238
15267
  const scrollTo = bomMixerHooks.useScrollTo();
15268
+ const layout = bomMixerHooks.useLayout();
15269
+ const storeUrl = layout.topLevelHrefs.store_index;
15239
15270
  return jsxRuntime.jsx(Section, {
15240
15271
  children: jsxRuntime.jsx(Container.Fluid, {
15241
15272
  children: jsxRuntime.jsxs(Grid.Row, Object.assign({
@@ -15290,8 +15321,8 @@ const ContactHero = _ref => {
15290
15321
  children: "production technologies."
15291
15322
  })]
15292
15323
  })), jsxRuntime.jsxs(Flex.Responsive, {
15293
- children: [jsxRuntime.jsx(Link__default.default, Object.assign({
15294
- href: "/store_index",
15324
+ children: [storeUrl && jsxRuntime.jsx(Link__default.default, Object.assign({
15325
+ href: storeUrl,
15295
15326
  passHref: true
15296
15327
  }, {
15297
15328
  children: jsxRuntime.jsxs(Button, Object.assign({
@@ -15750,6 +15781,8 @@ const MarketsAndLanguagesDrawer = _ref => {
15750
15781
  }, {
15751
15782
  children: jsxRuntime.jsx(Button, Object.assign({
15752
15783
  as: "a",
15784
+ lang: locale.id,
15785
+ role: "menuitem",
15753
15786
  variant: "nav",
15754
15787
  onClick: onClose
15755
15788
  }, {
@@ -15951,7 +15984,7 @@ const Header = props => {
15951
15984
  var _a;
15952
15985
  const layout = bomMixerHooks.useLayout();
15953
15986
  const mounted = bomMixerHooks.useMounted();
15954
- const scroll = bomMixerHooks.useScroll();
15987
+ const scrolled = bomMixerHooks.useScrolled();
15955
15988
  const [drawer, openDrawer, closeDrawer] = bomMixerHooks.useDrawer();
15956
15989
  const [modal, openModal, closeModal] = bomMixerHooks.useModal();
15957
15990
  const user = bomMixerHooks.useUser(state => state.user);
@@ -15959,7 +15992,7 @@ const Header = props => {
15959
15992
  setUser
15960
15993
  } = bomMixerHooks.useUser(state => state.actions);
15961
15994
  const containerProps = Object.assign(Object.assign({}, props), {
15962
- scrolled: scroll.top > 0
15995
+ scrolled
15963
15996
  });
15964
15997
  const [nav, setNav] = React.useState(null);
15965
15998
  const onNav = item => {
@@ -20631,6 +20664,9 @@ const StoreLocatorSearch = _ref => {
20631
20664
  }
20632
20665
  }), filters && filters.map((filter, f) => jsxRuntime.jsxs(RadioOption.Group, Object.assign({
20633
20666
  size: "sm",
20667
+ style: {
20668
+ '--grid-columns': 4
20669
+ },
20634
20670
  marginBottom: "1rem",
20635
20671
  initialValue: filter.values.length ? filter.values[0].toString() : '0',
20636
20672
  onChange: event => onSetFilter(filter, [event.target.value])
@@ -20977,6 +21013,7 @@ exports.Footer = Footer;
20977
21013
  exports.Form = Form;
20978
21014
  exports.FormError = FormError;
20979
21015
  exports.FormTester = FormTester;
21016
+ exports.FormTesterProvider = FormTesterProvider;
20980
21017
  exports.GlobalStyle = GlobalStyle;
20981
21018
  exports.Grid = Grid;
20982
21019
  exports.GridRow = GridRow;
@@ -21117,6 +21154,7 @@ exports.textareaVariants = textareaVariants;
21117
21154
  exports.theme = customTheme;
21118
21155
  exports.useAuth = useAuth;
21119
21156
  exports.useAutocompleteContext = useAutocompleteContext;
21157
+ exports.useFormTester = useFormTester;
21120
21158
  exports.useVariants = useVariants;
21121
21159
  exports.withPageTransition = withPageTransition;
21122
21160
  //# sourceMappingURL=index.js.map