@smg-automotive/components 25.10.0-gallery-header-v3-migrate.1 → 25.10.0-talamcol-menu.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 (39) hide show
  1. package/dist/cjs/components/index.d.ts +1 -1
  2. package/dist/cjs/components/index.d.ts.map +1 -1
  3. package/dist/cjs/components/menu/index.d.ts +21 -0
  4. package/dist/cjs/components/menu/index.d.ts.map +1 -0
  5. package/dist/cjs/index.js +88 -82
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/themes/shared/index.d.ts +1 -1
  8. package/dist/cjs/themes/shared/slotRecipes/index.d.ts +1 -1
  9. package/dist/cjs/themes/shared/slotRecipes/menu.d.ts +2 -0
  10. package/dist/cjs/themes/shared/slotRecipes/menu.d.ts.map +1 -0
  11. package/dist/esm/components/index.d.ts +1 -1
  12. package/dist/esm/components/index.d.ts.map +1 -1
  13. package/dist/esm/components/menu/index.d.ts +21 -0
  14. package/dist/esm/components/menu/index.d.ts.map +1 -0
  15. package/dist/esm/components/{galleryHeader → menu}/index.js +23 -30
  16. package/dist/esm/components/menu/index.js.map +1 -0
  17. package/dist/esm/components/themeProvider/index.js +1 -1
  18. package/dist/esm/index.js +2 -2
  19. package/dist/esm/themes/shared/index.d.ts +1 -1
  20. package/dist/esm/themes/shared/slotRecipes/index.d.ts +1 -1
  21. package/dist/esm/themes/shared/slotRecipes/index.js +2 -2
  22. package/dist/esm/themes/shared/slotRecipes/index.js.map +1 -1
  23. package/dist/esm/themes/shared/slotRecipes/menu.d.ts +2 -0
  24. package/dist/esm/themes/shared/slotRecipes/menu.d.ts.map +1 -0
  25. package/dist/esm/themes/shared/slotRecipes/menu.js +64 -0
  26. package/dist/esm/themes/shared/slotRecipes/menu.js.map +1 -0
  27. package/dist/index.d.ts +28 -18
  28. package/package.json +1 -1
  29. package/dist/cjs/components/galleryHeader/index.d.ts +0 -10
  30. package/dist/cjs/components/galleryHeader/index.d.ts.map +0 -1
  31. package/dist/cjs/themes/shared/slotRecipes/galleryHeader.d.ts +0 -2
  32. package/dist/cjs/themes/shared/slotRecipes/galleryHeader.d.ts.map +0 -1
  33. package/dist/esm/components/galleryHeader/index.d.ts +0 -10
  34. package/dist/esm/components/galleryHeader/index.d.ts.map +0 -1
  35. package/dist/esm/components/galleryHeader/index.js.map +0 -1
  36. package/dist/esm/themes/shared/slotRecipes/galleryHeader.d.ts +0 -2
  37. package/dist/esm/themes/shared/slotRecipes/galleryHeader.d.ts.map +0 -1
  38. package/dist/esm/themes/shared/slotRecipes/galleryHeader.js +0 -54
  39. package/dist/esm/themes/shared/slotRecipes/galleryHeader.js.map +0 -1
@@ -18,7 +18,6 @@ export * from './energyLabel';
18
18
  export * from './errorPage';
19
19
  export * from './flex';
20
20
  export * from './fullHeight';
21
- export * from './galleryHeader';
22
21
  export * from './grid';
23
22
  export * from './heading';
24
23
  export * from './icons';
@@ -27,6 +26,7 @@ export * from './layout';
27
26
  export * from './link';
28
27
  export * from './list';
29
28
  export * from './chip';
29
+ export * from './menu';
30
30
  export * from './missingImage';
31
31
  export * from './mobileOnlyAccordion';
32
32
  export * from './navigation/footer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { FC, JSX, ReactElement } from 'react';
2
+ import { MenuRootProps, MenuTriggerProps } from '@chakra-ui/react';
3
+ interface MenuItem {
4
+ text: JSX.Element | string;
5
+ value: string;
6
+ onClick: () => void;
7
+ }
8
+ export interface MenuProps {
9
+ title: string | ReactElement;
10
+ items: MenuItem[];
11
+ fontWeightTitle?: MenuTriggerProps['fontWeight'];
12
+ offset?: [number, number];
13
+ menuColor?: MenuTriggerProps['color'];
14
+ showChevron?: boolean;
15
+ icon?: ReactElement;
16
+ iconSpacing?: MenuTriggerProps['gap'];
17
+ placement?: Exclude<MenuRootProps['positioning'], undefined>['placement'];
18
+ }
19
+ export declare const Menu: FC<MenuProps>;
20
+ export {};
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAEL,aAAa,EACb,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAI1B,UAAU,QAAQ;IAChB,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;CAC3E;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA0D9B,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -1383,6 +1383,66 @@ var numberInputRecipe = react$1.defineSlotRecipe({
1383
1383
  },
1384
1384
  });
1385
1385
 
1386
+ var maximumScrollbarWidth = 20;
1387
+ var content = react$1.defineStyle({
1388
+ '--max-width': "calc(100vw - ".concat(maximumScrollbarWidth, "px)"),
1389
+ bg: 'white',
1390
+ boxShadow: 'sm',
1391
+ color: 'inherit',
1392
+ minW: '4xl',
1393
+ maxW: 'var(--max-width)',
1394
+ py: 'xxs',
1395
+ zIndex: 'dropdown',
1396
+ borderRadius: 'sm',
1397
+ border: '1px',
1398
+ borderColor: 'gray.200',
1399
+ cursor: 'pointer',
1400
+ _focusVisible: {
1401
+ outline: 'none',
1402
+ },
1403
+ });
1404
+ var item = react$1.defineStyle({
1405
+ paddingY: 'md',
1406
+ paddingX: 'lg',
1407
+ cursor: 'pointer',
1408
+ _focus: {
1409
+ bg: 'gray.100',
1410
+ },
1411
+ _focusVisible: {
1412
+ outline: 'none',
1413
+ },
1414
+ _active: {
1415
+ bg: 'blue.100',
1416
+ },
1417
+ _expanded: {
1418
+ bg: 'gray.100',
1419
+ },
1420
+ _hover: {
1421
+ bg: 'gray.100',
1422
+ },
1423
+ _disabled: {
1424
+ opacity: '40',
1425
+ cursor: 'notAllowed',
1426
+ },
1427
+ });
1428
+ var trigger = react$1.defineStyle({
1429
+ display: 'inline-flex',
1430
+ padding: '0',
1431
+ cursor: 'pointer',
1432
+ _focusVisible: {
1433
+ outline: 'none',
1434
+ },
1435
+ });
1436
+ var menuRecipe = react$1.defineSlotRecipe({
1437
+ slots: ['content', 'item', 'trigger'],
1438
+ className: 'chakra-menu',
1439
+ base: {
1440
+ content: content,
1441
+ item: item,
1442
+ trigger: trigger,
1443
+ },
1444
+ });
1445
+
1386
1446
  var markedTextRecipe = react$1.defineSlotRecipe({
1387
1447
  className: 'chakra-marked-text',
1388
1448
  slots: ['container', 'text', 'mark'],
@@ -1470,56 +1530,6 @@ var listRecipe = react$1.defineSlotRecipe({
1470
1530
  },
1471
1531
  });
1472
1532
 
1473
- var baseStyleContainer = react$1.defineStyle({
1474
- color: 'white',
1475
- px: '2xl',
1476
- py: 'lg',
1477
- position: {
1478
- base: 'fixed',
1479
- md: 'static',
1480
- },
1481
- top: '0',
1482
- left: '0',
1483
- right: '0',
1484
- zIndex: 'docked',
1485
- });
1486
- var baseStyleGrid = react$1.defineStyle({
1487
- alignItems: 'center',
1488
- });
1489
- var baseStyleChildrenContainer = react$1.defineStyle({
1490
- // This will be shown only above md breakpoint
1491
- });
1492
- var baseStyleCountContainer = react$1.defineStyle({
1493
- textAlign: {
1494
- base: 'left',
1495
- md: 'center',
1496
- },
1497
- });
1498
- var baseStyleCloseContainer = react$1.defineStyle({
1499
- textAlign: 'right',
1500
- display: 'flex',
1501
- alignItems: 'center',
1502
- justifyContent: 'flex-end',
1503
- });
1504
- var slots$1 = [
1505
- 'container',
1506
- 'grid',
1507
- 'childrenContainer',
1508
- 'countContainer',
1509
- 'closeContainer',
1510
- ];
1511
- var galleryHeaderRecipe = react$1.defineSlotRecipe({
1512
- slots: slots$1,
1513
- className: 'chakra-gallery-header',
1514
- base: {
1515
- container: baseStyleContainer,
1516
- grid: baseStyleGrid,
1517
- childrenContainer: baseStyleChildrenContainer,
1518
- countContainer: baseStyleCountContainer,
1519
- closeContainer: baseStyleCloseContainer,
1520
- },
1521
- });
1522
-
1523
1533
  var fieldSlotRecipe = react$1.defineSlotRecipe({
1524
1534
  className: 'chakra-field',
1525
1535
  slots: [
@@ -2246,7 +2256,6 @@ var slotRecipes = {
2246
2256
  breadcrumbs: breadcrumbsRecipe,
2247
2257
  card: cardRecipe,
2248
2258
  energyLabel: energyLabelRecipe,
2249
- galleryHeader: galleryHeaderRecipe,
2250
2259
  list: listRecipe,
2251
2260
  markedText: markedTextRecipe,
2252
2261
  dialog: dialogRecipe,
@@ -2266,6 +2275,7 @@ var slotRecipes = {
2266
2275
  numberInput: numberInputRecipe,
2267
2276
  radio: radioRecipe,
2268
2277
  pagination: paginationRecipe,
2278
+ menu: menuRecipe,
2269
2279
  };
2270
2280
 
2271
2281
  var textareaRecipe = react$1.defineRecipe({
@@ -6332,36 +6342,6 @@ var FullHeight = function (_a) {
6332
6342
  return (React.createElement(react$1.Box, { minHeight: "screen-height", height: "screen-height" }, children));
6333
6343
  };
6334
6344
 
6335
- var Link$1 = function (_a) {
6336
- var isExternal = _a.isExternal, target = _a.target, rel = _a.rel, props = __rest(_a, ["isExternal", "target", "rel"]);
6337
- return (React.createElement(react$1.Link, __assign({ target: target || (isExternal ? '_blank' : undefined), rel: rel || (isExternal ? 'noopener noreferrer' : undefined) }, props)));
6338
- };
6339
-
6340
- var GalleryHeader = function (_a) {
6341
- var currentSlide = _a.currentSlide, slidesCount = _a.slidesCount, onClose = _a.onClose, language = _a.language, children = _a.children;
6342
- var recipe = react$1.useSlotRecipe({ key: 'galleryHeader' });
6343
- var styles = recipe();
6344
- return (React.createElement(TranslationProvider, { language: language, scopes: ['galleryHeader'] },
6345
- React.createElement(i18nPkg.I18nContext.Consumer, null, function (_a) {
6346
- var t = _a.t;
6347
- return (React.createElement(react$1.Box, { css: styles.container },
6348
- React.createElement(react$1.Box, { css: styles.grid },
6349
- React.createElement(SimpleGrid, { columns: {
6350
- base: 2,
6351
- md: 3,
6352
- }, alignItems: "center" },
6353
- React.createElement(react$1.Box, { hideBelow: "md", css: styles.childrenContainer }, children),
6354
- React.createElement(react$1.Box, { css: styles.countContainer },
6355
- React.createElement(react$1.Box, null, t('galleryHeader.imageCount', {
6356
- x: currentSlide,
6357
- of: slidesCount,
6358
- }))),
6359
- React.createElement(react$1.Box, { css: styles.closeContainer },
6360
- React.createElement(Link$1, { "aria-label": "Close gallery", onClick: function () { return onClose(); } },
6361
- React.createElement(CloseIcon, { color: "white" })))))));
6362
- })));
6363
- };
6364
-
6365
6345
  var Grid = react$1.Grid;
6366
6346
  Grid.displayName = 'Grid';
6367
6347
  var GridItem = react$1.GridItem;
@@ -6472,6 +6452,11 @@ var SingleColumnCenteredLayout = function (_a) {
6472
6452
  React.createElement(react$1.Box, null, content))));
6473
6453
  };
6474
6454
 
6455
+ var Link$1 = function (_a) {
6456
+ var isExternal = _a.isExternal, target = _a.target, rel = _a.rel, props = __rest(_a, ["isExternal", "target", "rel"]);
6457
+ return (React.createElement(react$1.Link, __assign({ target: target || (isExternal ? '_blank' : undefined), rel: rel || (isExternal ? 'noopener noreferrer' : undefined) }, props)));
6458
+ };
6459
+
6475
6460
  var isRenderable = function (value) {
6476
6461
  return (typeof value === 'string' ||
6477
6462
  typeof value === 'number' ||
@@ -6565,6 +6550,27 @@ var Chip = function (_a) {
6565
6550
  };
6566
6551
  Chip.displayName = 'Chip';
6567
6552
 
6553
+ var Menu = function (_a) {
6554
+ var title = _a.title, items = _a.items, _b = _a.fontWeightTitle, fontWeightTitle = _b === void 0 ? 'regular' : _b, _c = _a.offset, offset = _c === void 0 ? [8, 0] : _c, menuColor = _a.menuColor, _d = _a.showChevron, showChevron = _d === void 0 ? true : _d, icon = _a.icon, _e = _a.iconSpacing, iconSpacing = _e === void 0 ? 'sm' : _e, placement = _a.placement;
6555
+ var recipe = react$1.useSlotRecipe({ key: 'menu' });
6556
+ var styles = recipe();
6557
+ var _f = offset[0], mainAxis = _f === void 0 ? 0 : _f, _g = offset[1], crossAxis = _g === void 0 ? 0 : _g;
6558
+ return (React.createElement(react$1.Menu.Root, { positioning: { placement: placement, offset: { mainAxis: mainAxis, crossAxis: crossAxis } } },
6559
+ React.createElement(react$1.Menu.Context, null, function (_a) {
6560
+ var open = _a.open;
6561
+ return (React.createElement(react$1.Menu.Trigger, { css: styles.trigger, gap: iconSpacing, fontWeight: fontWeightTitle, color: open ? 'blue.700' : menuColor },
6562
+ icon,
6563
+ title,
6564
+ showChevron ? (React.createElement(ChevronDownSmallIcon, { transition: "transform", transform: open ? 'rotate(180deg)' : 'rotate(0deg)' })) : null));
6565
+ }),
6566
+ React.createElement(react$1.Portal, null,
6567
+ React.createElement(react$1.Menu.Positioner, null,
6568
+ React.createElement(react$1.Menu.Content, { css: styles.content }, items.map(function (_a) {
6569
+ var onClick = _a.onClick, text = _a.text, value = _a.value;
6570
+ return (React.createElement(react$1.Menu.Item, __assign({ key: "menuItem-".concat(value), value: value, onSelect: onClick, css: styles.item }, (menuColor && { color: menuColor })), text));
6571
+ }))))));
6572
+ };
6573
+
6568
6574
  var MobileOnlyAccordion = function (props) {
6569
6575
  var children = props.children, restProps = __rest(props, ["children"]);
6570
6576
  return React.createElement(Accordion, __assign({}, restProps), children);
@@ -8021,7 +8027,6 @@ exports.Footer = Footer$1;
8021
8027
  exports.FormControlSection = FormControlSection;
8022
8028
  exports.ForwardIcon = ForwardIcon;
8023
8029
  exports.FullHeight = FullHeight;
8024
- exports.GalleryHeader = GalleryHeader;
8025
8030
  exports.GarageIcon = GarageIcon;
8026
8031
  exports.GasStationIcon = GasStationIcon;
8027
8032
  exports.GlobeIcon = GlobeIcon;
@@ -8061,6 +8066,7 @@ exports.LogoutIcon = LogoutIcon;
8061
8066
  exports.MagnifierIcon = MagnifierIcon;
8062
8067
  exports.MagnifierLargeIcon = MagnifierLargeIcon;
8063
8068
  exports.MarkedText = MarkedText;
8069
+ exports.Menu = Menu;
8064
8070
  exports.MessageIcon = MessageIcon;
8065
8071
  exports.MiniVanIcon = MiniVanIcon;
8066
8072
  exports.MinusIcon = MinusIcon;