@digital-b2c/coreui-kit 0.17.16 → 0.17.17

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.
package/LICENSE.txt CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Luxottica
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Luxottica
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,52 +1,52 @@
1
- # CoreUI Kit
2
-
3
- A React‑based design system and component library.
4
-
5
- ## 🚀 Getting Started
6
-
7
- Install
8
-
9
- ```bash
10
- npm install
11
- ```
12
-
13
- Development
14
-
15
- - Run the build in watch mode
16
-
17
- ```bash
18
- npm run dev
19
- ```
20
-
21
- Start Storybook
22
-
23
- ```bash
24
- npm run storybook
25
- ```
26
-
27
- Run tests
28
-
29
- ```bash
30
- npm test
31
- ```
32
-
33
- Lint/format
34
-
35
- ```bash
36
- npm run lint
37
- ```
38
-
39
- ## 🛠️ Usage
40
-
41
- Import components in other projects:
42
-
43
- ```ts
44
- import '@digital-b2c/coreui-kit/styles.css'
45
-
46
- import { MiniSectionCta } from '@digital-b2c/coreui-kit'
47
-
48
- <MiniSectionCta>
49
- <MiniSectionCta.Title>Header</MiniSectionCta.Title>
50
- <MiniSectionCta.Subtitle>Description</MiniSectionCta.Subtitle>
51
- </MiniSectionCta>
52
- ```
1
+ # CoreUI Kit
2
+
3
+ A React‑based design system and component library.
4
+
5
+ ## 🚀 Getting Started
6
+
7
+ Install
8
+
9
+ ```bash
10
+ npm install
11
+ ```
12
+
13
+ Development
14
+
15
+ - Run the build in watch mode
16
+
17
+ ```bash
18
+ npm run dev
19
+ ```
20
+
21
+ Start Storybook
22
+
23
+ ```bash
24
+ npm run storybook
25
+ ```
26
+
27
+ Run tests
28
+
29
+ ```bash
30
+ npm test
31
+ ```
32
+
33
+ Lint/format
34
+
35
+ ```bash
36
+ npm run lint
37
+ ```
38
+
39
+ ## 🛠️ Usage
40
+
41
+ Import components in other projects:
42
+
43
+ ```ts
44
+ import '@digital-b2c/coreui-kit/styles.css'
45
+
46
+ import { MiniSectionCta } from '@digital-b2c/coreui-kit'
47
+
48
+ <MiniSectionCta>
49
+ <MiniSectionCta.Title>Header</MiniSectionCta.Title>
50
+ <MiniSectionCta.Subtitle>Description</MiniSectionCta.Subtitle>
51
+ </MiniSectionCta>
52
+ ```
package/dist/index.cjs CHANGED
@@ -772,6 +772,12 @@ var Container = React71.forwardRef(
772
772
  }
773
773
  );
774
774
  Container.displayName = "Container";
775
+ var Text = (_a) => {
776
+ var _b = _a, { tag = "p", promoteToH1 = false, ref, children } = _b, props = __objRest(_b, ["tag", "promoteToH1", "ref", "children"]);
777
+ const Component = promoteToH1 ? "h1" : tag;
778
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, __spreadProps(__spreadValues({ ref }, props), { children }));
779
+ };
780
+ Text.displayName = "Text";
775
781
 
776
782
  // src/components/Card/Card.module.scss
777
783
  var Card_module_default = {
@@ -1855,7 +1861,7 @@ var NewsCard = ({
1855
1861
  /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: date.value, className: clsx49__default.default("news-card-date", NewsCard_module_default["news-card-date"]), children: date.label })
1856
1862
  ] }),
1857
1863
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx49__default.default("news-card-main-content", NewsCard_module_default["news-card-main-content"]), children: [
1858
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: clsx49__default.default("news-card-title", NewsCard_module_default["news-card-title"]), children: title }),
1864
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { id: `title-${id}`, className: clsx49__default.default("news-card-title", NewsCard_module_default["news-card-title"]), children: title }),
1859
1865
  typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx49__default.default("news-card-description", NewsCard_module_default["news-card-description"]), children: description }) : description,
1860
1866
  isRestricted && /* @__PURE__ */ jsxRuntime.jsx("p", { id: `restricted-${id}`, className: "sr-only", children: "This resource is restricted. You do not have permission to access it." })
1861
1867
  ] }),
@@ -1864,9 +1870,7 @@ var NewsCard = ({
1864
1870
  {
1865
1871
  variant: "secondary",
1866
1872
  className: clsx49__default.default("news-card-cta", NewsCard_module_default["news-card-cta"]),
1867
- href: cta.url,
1868
1873
  icon: cta.icon,
1869
- isExternal: cta == null ? void 0 : cta.isExternal,
1870
1874
  "aria-hidden": "true",
1871
1875
  tabIndex: -1,
1872
1876
  renderLink: renderLink ? (props) => renderLink(__spreadProps(__spreadValues({}, props), { tabIndex: -1 })) : void 0,
@@ -2544,12 +2548,6 @@ var LogoBar = ({ className, items }) => {
2544
2548
  ] }) }, key);
2545
2549
  }) });
2546
2550
  };
2547
- var Text = (_a) => {
2548
- var _b = _a, { tag = "p", promoteToH1 = false, ref, children } = _b, props = __objRest(_b, ["tag", "promoteToH1", "ref", "children"]);
2549
- const Component = promoteToH1 ? "h1" : tag;
2550
- return /* @__PURE__ */ jsxRuntime.jsx(Component, __spreadProps(__spreadValues({ ref }, props), { children }));
2551
- };
2552
- Text.displayName = "Text";
2553
2551
  var HeroBannerTitle = ({ children }) => {
2554
2552
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
2555
2553
  };
@@ -2722,7 +2720,7 @@ var HeroBannerCarousel = ({
2722
2720
  children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(react$1.SwiperSlide, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBannerCarousel_module_default.card, children: [
2723
2721
  item.isNewItem && /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroBannerCarousel_module_default.cardCorner, children: isMobile ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: HeroBannerCarousel_module_default.cardCornerDot }) : /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "newIcon", className: HeroBannerCarousel_module_default.cardCornerImage }) }),
2724
2722
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBannerCarousel_module_default.cardContent, children: [
2725
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: HeroBannerCarousel_module_default.cardTitle, children: item.title }),
2723
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx49__default.default(HeroBannerCarousel_module_default.cardTitle, "h3"), children: item.title }),
2726
2724
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: HeroBannerCarousel_module_default.cardBottom, children: [
2727
2725
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroBannerCarousel_module_default.cardBody, children: item.body }),
2728
2726
  item.ctas.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroBannerCarousel_module_default.cardCtaContainer, children: item.ctas.map((cta, ctaIndex) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -3099,6 +3097,7 @@ var MiniBanner = ({
3099
3097
  logo,
3100
3098
  background,
3101
3099
  cta,
3100
+ promoteToH1 = false,
3102
3101
  children
3103
3102
  }) => {
3104
3103
  var _a, _b, _c, _d, _e;
@@ -3122,11 +3121,19 @@ var MiniBanner = ({
3122
3121
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.textContainer, children: [
3123
3122
  (logo == null ? void 0 : logo.src) && /* @__PURE__ */ jsxRuntime.jsx(Picture, __spreadValues({ className: MiniBanner_module_default.logo }, logo)),
3124
3123
  pretitleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx49__default.default(MiniBanner_module_default.pretitle, "small"), children: pretitleNode }),
3125
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.headingWrapper, children: [
3124
+ (titleNode || goBackNode) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniBanner_module_default.headingWrapper, children: [
3126
3125
  goBackNode ? React71__default.default.cloneElement(goBackNode, {
3127
3126
  className: clsx49__default.default("back-button", MiniBanner_module_default["back-button"])
3128
3127
  }) : null,
3129
- titleNode && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx49__default.default(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"), children: titleNode })
3128
+ titleNode && /* @__PURE__ */ jsxRuntime.jsx(
3129
+ Text,
3130
+ {
3131
+ tag: "div",
3132
+ promoteToH1,
3133
+ className: clsx49__default.default(MiniBanner_module_default.title, isMiniBannerTextLeft ? "h1" : "h4"),
3134
+ children: titleNode
3135
+ }
3136
+ )
3130
3137
  ] }),
3131
3138
  subtitleNode && /* @__PURE__ */ jsxRuntime.jsx(
3132
3139
  "div",
@@ -3181,6 +3188,7 @@ var MiniSectionCta_module_default = {
3181
3188
  subtitle: "MiniSectionCta_module_subtitle",
3182
3189
  miniTextCenterCta: "MiniSectionCta_module_miniTextCenterCta",
3183
3190
  light: "MiniSectionCta_module_light",
3191
+ gray: "MiniSectionCta_module_gray",
3184
3192
  dark: "MiniSectionCta_module_dark",
3185
3193
  cta: "MiniSectionCta_module_cta",
3186
3194
  BgColorGrey: "MiniSectionCta_module_BgColorGrey"
@@ -3192,6 +3200,7 @@ var MiniSectionCta = ({
3192
3200
  title,
3193
3201
  subtitle,
3194
3202
  cta,
3203
+ moduleStyles,
3195
3204
  children
3196
3205
  }) => {
3197
3206
  var _a, _b;
@@ -3205,6 +3214,10 @@ var MiniSectionCta = ({
3205
3214
  "div",
3206
3215
  {
3207
3216
  className: clsx49__default.default(MiniSectionCta_module_default.miniSectionCta, MiniSectionCta_module_default[variant], theme && MiniSectionCta_module_default[theme], className),
3217
+ style: __spreadValues({}, moduleStyles && {
3218
+ "--custom-background-color": moduleStyles.backgroundColor,
3219
+ "--custom-color": moduleStyles.color
3220
+ }),
3208
3221
  children: /* @__PURE__ */ jsxRuntime.jsx(Container, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniSectionCta_module_default.wrapper, children: [
3209
3222
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MiniSectionCta_module_default.col, children: [
3210
3223
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: variant === "BgColorBlack" || variant === "BgColorGrey" ? "h3" : "h2", children: titleNode }),
@@ -4210,7 +4223,7 @@ var Teaser5050WithCta = ({
4210
4223
  ctas,
4211
4224
  image,
4212
4225
  children,
4213
- bgColor
4226
+ moduleStyles
4214
4227
  }) => {
4215
4228
  var _a, _b;
4216
4229
  const slots = resolveCompoundSlots(children, {
@@ -4223,7 +4236,10 @@ var Teaser5050WithCta = ({
4223
4236
  "div",
4224
4237
  {
4225
4238
  className: clsx49__default.default(Teaser5050WithCta_module_default.teaser5050, Teaser5050WithCta_module_default[variant], className),
4226
- style: { backgroundColor: bgColor ? bgColor : "#ffffff" },
4239
+ style: __spreadValues({}, moduleStyles && {
4240
+ "--custom-background-color": moduleStyles.backgroundColor,
4241
+ "--custom-color": moduleStyles.color
4242
+ }),
4227
4243
  children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: Teaser5050WithCta_module_default.container, children: [
4228
4244
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.wrapper, children: [
4229
4245
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Teaser5050WithCta_module_default.content, children: [
@@ -4301,6 +4317,7 @@ var Carousel = (_a) => {
4301
4317
  // src/widgets/EventList/EventList.module.scss
4302
4318
  var EventList_module_default = {
4303
4319
  "event-list-module": "EventList_module_event-list-module",
4320
+ gray: "EventList_module_gray",
4304
4321
  "event-list-header-container": "EventList_module_event-list-header-container",
4305
4322
  "event-list-title": "EventList_module_event-list-title",
4306
4323
  "event-list-wrapper": "EventList_module_event-list-wrapper",
@@ -4346,10 +4363,12 @@ var EventList = ({
4346
4363
  return /* @__PURE__ */ jsxRuntime.jsx(
4347
4364
  "div",
4348
4365
  {
4349
- className: clsx49__default.default("event-list-module", EventList_module_default["event-list-module"], className),
4350
- style: {
4351
- backgroundColor
4352
- },
4366
+ className: clsx49__default.default(
4367
+ "event-list-module",
4368
+ EventList_module_default["event-list-module"],
4369
+ backgroundColor && EventList_module_default[backgroundColor],
4370
+ className
4371
+ ),
4353
4372
  children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { className: clsx49__default.default(EventList_module_default["event-list-container"]), children: [
4354
4373
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: EventList_module_default["event-list-header-container"], children: [
4355
4374
  titleNode && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: clsx49__default.default(EventList_module_default["event-list-title"]), children: titleNode }),
@@ -5073,6 +5092,7 @@ var NewsCardList = ({
5073
5092
  className: clsx49__default.default("search-input", NewsCardList_module_default["search-input"]),
5074
5093
  startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
5075
5094
  placeholder: "Search News",
5095
+ "aria-label": "Search News",
5076
5096
  endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
5077
5097
  Button,
5078
5098
  {
@@ -5228,6 +5248,7 @@ var BlogSearchResultsList = ({
5228
5248
  className: clsx49__default.default("search-input", BlogSearchResultsList_module_default["search-input"]),
5229
5249
  startAdornment: /* @__PURE__ */ jsxRuntime.jsx(Icon, { type: "search" }),
5230
5250
  placeholder: "Search News",
5251
+ "aria-label": "Search News",
5231
5252
  endAction: searchValue ? /* @__PURE__ */ jsxRuntime.jsx(
5232
5253
  Button,
5233
5254
  {
@@ -5603,6 +5624,7 @@ exports.Search = Search;
5603
5624
  exports.Sidebar = Sidebar;
5604
5625
  exports.Teaser5050With3Text = Teaser5050With3Text2;
5605
5626
  exports.Teaser5050WithCta = Teaser5050WithCta2;
5627
+ exports.Text = Text;
5606
5628
  exports.TextBody = TextBody2;
5607
5629
  exports.TextCenterCtaInBottom = TextCenterCtaInBottom2;
5608
5630
  exports.TextCenterWithMedia = TextCenterWithMedia2;