@appcorp/kismaa-web-ui 0.2.33 → 0.2.35

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 (46) hide show
  1. package/app/page.js +1 -1
  2. package/molecules/badge/badge.js +5 -4
  3. package/molecules/breadcrumbs/breadcrumbs.js +1 -1
  4. package/molecules/button-group/button-group.js +2 -2
  5. package/molecules/core-values-card/core-values-card.js +1 -1
  6. package/molecules/horoscope-shimmer-card/horoscope-shimmer-card.d.ts +3 -0
  7. package/molecules/horoscope-shimmer-card/horoscope-shimmer-card.js +24 -0
  8. package/molecules/horoscope-shimmer-card/index.d.ts +2 -0
  9. package/molecules/horoscope-shimmer-card/index.js +18 -0
  10. package/molecules/horoscope-shimmer-card/type.d.ts +4 -0
  11. package/molecules/horoscope-shimmer-card/type.js +2 -0
  12. package/molecules/index.d.ts +3 -0
  13. package/molecules/index.js +3 -0
  14. package/molecules/shimmer/index.d.ts +2 -0
  15. package/molecules/shimmer/index.js +18 -0
  16. package/molecules/shimmer/props.d.ts +0 -0
  17. package/molecules/shimmer/props.js +0 -0
  18. package/molecules/shimmer/shimmer.d.ts +3 -0
  19. package/molecules/shimmer/shimmer.js +12 -0
  20. package/molecules/shimmer/type.d.ts +3 -0
  21. package/molecules/shimmer/type.js +2 -0
  22. package/molecules/user-card/user-card.js +3 -1
  23. package/molecules/user-card-shimmer/index.d.ts +1 -0
  24. package/molecules/user-card-shimmer/index.js +17 -0
  25. package/molecules/user-card-shimmer/user-card-shimmer.d.ts +2 -0
  26. package/molecules/user-card-shimmer/user-card-shimmer.js +27 -0
  27. package/organisms/advisors-section/advisors-section.js +2 -2
  28. package/organisms/advisors-section/props.js +1 -0
  29. package/organisms/advisors-section/type.d.ts +1 -0
  30. package/organisms/banner-slider/banner-slider.js +2 -2
  31. package/organisms/highlight-banner/highlight-banner.js +1 -1
  32. package/organisms/horoscope-cards-grid/horoscope-cards-grid.js +5 -2
  33. package/organisms/horoscope-cards-grid/props.js +1 -0
  34. package/organisms/horoscope-cards-grid/type.d.ts +1 -0
  35. package/organisms/horoscope-section/horoscope-section.js +2 -2
  36. package/organisms/horoscope-section/props.js +1 -0
  37. package/organisms/horoscope-section/type.d.ts +1 -0
  38. package/organisms/time-line/time-line.js +3 -3
  39. package/organisms/user-cards-grid/props.js +1 -0
  40. package/organisms/user-cards-grid/type.d.ts +1 -0
  41. package/organisms/user-cards-grid/user-cards-grid.js +5 -1
  42. package/organisms/user-detail-banner/user-detail-banner.js +1 -1
  43. package/organisms/users-list-explore/props.js +1 -0
  44. package/organisms/users-list-explore/type.d.ts +1 -0
  45. package/organisms/users-list-explore/users-list-explore.js +2 -2
  46. package/package.json +14 -11
package/app/page.js CHANGED
@@ -8,6 +8,6 @@ exports.default = Home;
8
8
  var react_1 = __importDefault(require("react"));
9
9
  var theme_switch_1 = __importDefault(require("../molecules/theme-switch/theme-switch"));
10
10
  function Home() {
11
- return (react_1.default.createElement("div", { className: "grid min-h-screen grid-rows-[20px_1fr_20px] items-center justify-items-center gap-16 bg-white p-8 pb-20 font-[family-name:var(--font-geist-sans)] dark:bg-black sm:p-20" },
11
+ return (react_1.default.createElement("div", { className: "grid min-h-screen grid-rows-[20px_1fr_20px] items-center justify-items-center gap-16 bg-white p-8 pb-20 font-[family-name:var(--font-geist-sans)] sm:p-20 dark:bg-black" },
12
12
  react_1.default.createElement(theme_switch_1.default, null)));
13
13
  }
@@ -5,10 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Badge = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
- var util_functions_1 = require("@react-pakistan/util-functions");
8
+ // import { PSYCHIC_SPECIALITY } from '@appcorp/kismaa-utils';
9
+ // import { textToEnum } from '@react-pakistan/util-functions';
9
10
  var type_1 = require("./type");
10
11
  var outline_1 = require("@heroicons/react/24/outline");
11
- var classNameMap = function (type) {
12
+ var classNameMap = function () {
12
13
  var _a;
13
14
  return (_a = {},
14
15
  _a[type_1.BADGE_TYPE.CARD_BADGE] = "py-1.5 px-2.5 text-xs rounded-full bg-primary/30 text-primary",
@@ -16,9 +17,9 @@ var classNameMap = function (type) {
16
17
  _a);
17
18
  };
18
19
  var Badge = function (_a) {
20
+ // const specialityType = textToEnum(label) as PSYCHIC_SPECIALITY;
19
21
  var handleOnCrossClick = _a.handleOnCrossClick, label = _a.label, type = _a.type;
20
- var specialityType = (0, util_functions_1.textToEnum)(label);
21
- return (react_1.default.createElement("div", { className: "flex w-fit flex-row items-center justify-center gap-2 font-primary ".concat(classNameMap(specialityType)[type]) },
22
+ return (react_1.default.createElement("div", { className: "font-primary flex w-fit flex-row items-center justify-center gap-2 ".concat(classNameMap()[type]) },
22
23
  label,
23
24
  handleOnCrossClick && (react_1.default.createElement("button", { onClick: function () { return handleOnCrossClick(label); } },
24
25
  react_1.default.createElement(outline_1.XMarkIcon, { className: "size-4" })))));
@@ -16,7 +16,7 @@ var BreadCrumbs = function (_a) {
16
16
  react_1.default.createElement("li", { className: "flex items-center" },
17
17
  react_1.default.createElement(link_1.default, { href: "/", className: "flex items-center gap-2 text-gray-500 hover:text-gray-700 hover:underline" },
18
18
  react_1.default.createElement(home_icon_1.HomeIcon, { className: "size-6", "aria-hidden": "true" }),
19
- react_1.default.createElement("span", { className: "text-xs text-primary lg:text-sm" }, "Home"))), items === null || items === void 0 ? void 0 :
19
+ react_1.default.createElement("span", { className: "text-primary text-xs lg:text-sm" }, "Home"))), items === null || items === void 0 ? void 0 :
20
20
  items.map(function (_a, index) {
21
21
  var label = _a.label, route = _a.route, isActive = _a.isActive;
22
22
  var isLast = index === items.length - 1;
@@ -26,7 +26,7 @@ var ButtonGroup = function (_a) {
26
26
  handleOnClick: function () { return onFilterBtnClick(); },
27
27
  borderColor: numberOfFilters !== 0 ? '#B880F1' : '#D9D9D9',
28
28
  iconPrefix: react_1.default.createElement(filter_icon_1.FilterIcon, { className: "size-4" }),
29
- iconSuffix: numberOfFilters === 0 ? (react_1.default.createElement(react_1.default.Fragment, null)) : (react_1.default.createElement("div", { className: "flex size-9 items-center justify-center rounded-full bg-primary/80 text-white" },
29
+ iconSuffix: numberOfFilters === 0 ? (react_1.default.createElement(react_1.default.Fragment, null)) : (react_1.default.createElement("div", { className: "bg-primary/80 flex size-9 items-center justify-center rounded-full text-white" },
30
30
  react_1.default.createElement(typography_1.Typography, { variant: typography_1.TYPOGRAPHY_VARIANTS.P1 }, numberOfFilters))),
31
31
  };
32
32
  var visibleButtons = buttonsList.slice(0, maxButtonsLimit - 1);
@@ -36,7 +36,7 @@ var ButtonGroup = function (_a) {
36
36
  var extendedButtonsList = __spreadArray(__spreadArray([], visibleButtons, true), [filterButton], false);
37
37
  return (react_1.default.createElement("div", { className: "flex w-fit flex-wrap gap-3" }, extendedButtonsList.slice(0, maxButtonsLimit).map(function (button, index) {
38
38
  var isActive = index === activeIndex;
39
- return (react_1.default.createElement("button", { key: index, onClick: function () { return button.handleOnClick(index); }, className: "flex max-h-16 items-center justify-center gap-3 rounded-full px-5 py-3 text-base font-medium transition-all duration-300 ease-in-out hover:text-primary lg:px-10 lg:py-5 ".concat(isActive ? activeStyles : nonActiveStyles), style: {
39
+ return (react_1.default.createElement("button", { key: index, onClick: function () { return button.handleOnClick(index); }, className: "hover:text-primary flex max-h-16 items-center justify-center gap-3 rounded-full px-5 py-3 text-base font-medium transition-all duration-300 ease-in-out lg:px-10 lg:py-5 ".concat(isActive ? activeStyles : nonActiveStyles), style: {
40
40
  border: "1px solid ".concat(isActive ? '#B880F1' : button.borderColor || '#D9D9D9'),
41
41
  } },
42
42
  button.iconPrefix,
@@ -10,7 +10,7 @@ var CoreValuesCard = function (_a) {
10
10
  var icon = _a.icon, heading = _a.heading, description = _a.description;
11
11
  return (react_1.default.createElement("div", { className: "w-fit rounded-sm bg-white p-12 transition-all duration-300 ease-in-out hover:scale-105" },
12
12
  react_1.default.createElement("div", { className: "relative" },
13
- react_1.default.createElement("div", { className: "absolute -left-2 -top-4 size-10 rounded-full bg-[#B689E51A]" }),
13
+ react_1.default.createElement("div", { className: "absolute -top-4 -left-2 size-10 rounded-full bg-[#B689E51A]" }),
14
14
  react_1.default.createElement("div", { className: "ml-1" }, icon)),
15
15
  react_1.default.createElement("div", { className: "mt-7" },
16
16
  react_1.default.createElement("div", { className: "" },
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { ShimmerCardProps } from './type';
3
+ export declare const HoroscopeShimmerCard: FC<ShimmerCardProps>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ var _a;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.HoroscopeShimmerCard = void 0;
8
+ // molecules/horoscope-card/HoroscopeCardShimmer.tsx
9
+ var react_1 = __importDefault(require("react"));
10
+ var shimmer_1 = require("../shimmer");
11
+ var horoscope_card_1 = require("../horoscope-card");
12
+ var sizeMap = (_a = {},
13
+ _a[horoscope_card_1.HOROSCOPE_CARD_SIZES.MD] = 'mb-8 mt-5',
14
+ _a[horoscope_card_1.HOROSCOPE_CARD_SIZES.SM] = 'my-3',
15
+ _a);
16
+ var HoroscopeShimmerCard = function (_a) {
17
+ var _b = _a.cardSize, cardSize = _b === void 0 ? horoscope_card_1.HOROSCOPE_CARD_SIZES.MD : _b;
18
+ return (react_1.default.createElement("div", { className: "group w-full overflow-hidden rounded-xl" },
19
+ react_1.default.createElement("div", { className: "h-60 w-full p-8" },
20
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-full w-full rounded-xl" })),
21
+ react_1.default.createElement("div", { className: "text-center ".concat(sizeMap[cardSize]) },
22
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "mx-auto h-5 w-24 rounded-md" }))));
23
+ };
24
+ exports.HoroscopeShimmerCard = HoroscopeShimmerCard;
@@ -0,0 +1,2 @@
1
+ export * from './horoscope-shimmer-card';
2
+ export * from './type';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./horoscope-shimmer-card"), exports);
18
+ __exportStar(require("./type"), exports);
@@ -0,0 +1,4 @@
1
+ import { HOROSCOPE_CARD_SIZES } from '../horoscope-card';
2
+ export interface ShimmerCardProps {
3
+ cardSize?: HOROSCOPE_CARD_SIZES;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -11,3 +11,6 @@ export * from './stat-card';
11
11
  export * from './theme-switch/theme-switch';
12
12
  export * from './typography';
13
13
  export * from './user-card';
14
+ export * from './shimmer';
15
+ export * from './horoscope-shimmer-card';
16
+ export * from './user-card-shimmer';
@@ -27,3 +27,6 @@ __exportStar(require("./stat-card"), exports);
27
27
  __exportStar(require("./theme-switch/theme-switch"), exports);
28
28
  __exportStar(require("./typography"), exports);
29
29
  __exportStar(require("./user-card"), exports);
30
+ __exportStar(require("./shimmer"), exports);
31
+ __exportStar(require("./horoscope-shimmer-card"), exports);
32
+ __exportStar(require("./user-card-shimmer"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './shimmer';
2
+ export * from './type';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./shimmer"), exports);
18
+ __exportStar(require("./type"), exports);
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { ShimmerProps } from './type';
3
+ export declare const Shimmer: React.FC<ShimmerProps>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Shimmer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var Shimmer = function (_a) {
9
+ var className = _a.className;
10
+ return (react_1.default.createElement("div", { className: "animate-pulse rounded-md bg-gray-200 ".concat(className) }));
11
+ };
12
+ exports.Shimmer = Shimmer;
@@ -0,0 +1,3 @@
1
+ export interface ShimmerProps {
2
+ className?: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -15,7 +15,9 @@ var badge_1 = require("../badge");
15
15
  var type_1 = require("../badge/type");
16
16
  var ratings_1 = require("../ratings");
17
17
  var UserCard = function (_a) {
18
- var badges = _a.badges, description = _a.description, handleButtonClick = _a.handleButtonClick, handleCardClick = _a.handleCardClick, id = _a.id, imageAlt = _a.imageAlt, imageSrc = _a.imageSrc, isHovered = _a.isHovered, name = _a.name, onlineStatus = _a.onlineStatus, originalPrice = _a.originalPrice, price = _a.price, rating = _a.rating, setIsHovered = _a.setIsHovered, username = _a.username;
18
+ var badges = _a.badges, description = _a.description, handleButtonClick = _a.handleButtonClick, handleCardClick = _a.handleCardClick, id = _a.id, imageAlt = _a.imageAlt, imageSrc = _a.imageSrc, isHovered = _a.isHovered, name = _a.name, onlineStatus = _a.onlineStatus,
19
+ // originalPrice,
20
+ price = _a.price, rating = _a.rating, setIsHovered = _a.setIsHovered, username = _a.username;
19
21
  return (react_1.default.createElement("div", { className: "w-full overflow-hidden rounded-xl shadow-[0px_5px_16px_0px_#0000001A] hover:cursor-pointer lg:max-w-[415px]", onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, onClick: function (e) {
20
22
  e.stopPropagation();
21
23
  handleCardClick(username);
@@ -0,0 +1 @@
1
+ export * from './user-card-shimmer';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./user-card-shimmer"), exports);
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const UserCardShimmer: FC;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserCardShimmer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var shimmer_1 = require("../shimmer");
9
+ var UserCardShimmer = function () {
10
+ return (react_1.default.createElement("div", { className: "w-full overflow-hidden rounded-xl shadow-[0px_5px_16px_0px_#0000001A] lg:max-w-[415px]" },
11
+ react_1.default.createElement("div", { className: "relative overflow-hidden rounded-xl" },
12
+ react_1.default.createElement("div", { className: "relative pb-[76%]" },
13
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "absolute inset-0 h-full w-full" }))),
14
+ react_1.default.createElement("div", { className: "p-4 text-center" },
15
+ react_1.default.createElement("div", { className: "mb-2 flex justify-center" },
16
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-6 w-32" })),
17
+ react_1.default.createElement("div", { className: "mb-2 flex justify-center" },
18
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-4 w-48" })),
19
+ react_1.default.createElement("div", { className: "mt-2 flex w-full flex-wrap justify-center gap-1.5" },
20
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-6 w-16 rounded-full" }),
21
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-6 w-16 rounded-full" })),
22
+ react_1.default.createElement("div", { className: "my-5 flex justify-center" },
23
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-5 w-24" })),
24
+ react_1.default.createElement("div", { className: "flex justify-center gap-2.5" },
25
+ react_1.default.createElement(shimmer_1.Shimmer, { className: "h-6 w-32" })))));
26
+ };
27
+ exports.UserCardShimmer = UserCardShimmer;
@@ -8,10 +8,10 @@ var react_1 = __importDefault(require("react"));
8
8
  var section_header_1 = require("../section-header");
9
9
  var user_cards_grid_1 = require("../user-cards-grid");
10
10
  var AdvisorsSection = function (_a) {
11
- var buttonLabel = _a.buttonLabel, cardItems = _a.cardItems, cardsLimit = _a.cardsLimit, heading = _a.heading, handleOnClick = _a.handleOnClick, subheading = _a.subheading;
11
+ var buttonLabel = _a.buttonLabel, cardItems = _a.cardItems, cardsLimit = _a.cardsLimit, heading = _a.heading, handleOnClick = _a.handleOnClick, subheading = _a.subheading, _b = _a.loading, loading = _b === void 0 ? false : _b;
12
12
  return (react_1.default.createElement("section", { className: "kismaa-section-spacing bg-white" },
13
13
  react_1.default.createElement("div", { className: "kismaa-container" },
14
14
  react_1.default.createElement(section_header_1.SectionHeader, { btnText: buttonLabel, handleButtonClick: handleOnClick, heading: heading, renderCtaButton: cardItems.length > cardsLimit, subheading: subheading }),
15
- react_1.default.createElement(user_cards_grid_1.UserCardsGrid, { cardItems: cardItems, cardsLimit: cardsLimit }))));
15
+ react_1.default.createElement(user_cards_grid_1.UserCardsGrid, { cardItems: cardItems, cardsLimit: cardsLimit, loading: loading }))));
16
16
  };
17
17
  exports.AdvisorsSection = AdvisorsSection;
@@ -9,4 +9,5 @@ exports.advisorsSectionData = {
9
9
  cardItems: props_1.userCardGridData,
10
10
  cardsLimit: 6,
11
11
  handleOnClick: function () { return console.log('Button clicked!'); },
12
+ loading: false,
12
13
  };
@@ -6,4 +6,5 @@ export interface AdvisorsSectionProps {
6
6
  handleOnClick: () => void;
7
7
  heading: string;
8
8
  subheading: string;
9
+ loading: boolean;
9
10
  }
@@ -29,9 +29,9 @@ var BannerSlider = function (_a) {
29
29
  }, loop: true, className: "h-full w-full" }, bannerSlides.map(function (slide) { return (react_1.default.createElement(react_2.SwiperSlide, { key: slide.id },
30
30
  react_1.default.createElement("div", { className: "relative h-fit" },
31
31
  react_1.default.createElement(banner_slider_card_1.BannerSliderCard, { cardBgImage: slide.imageUrl, heading: slide.title })))); })),
32
- react_1.default.createElement("button", { className: "custom-swiper-button-prev absolute left-10 top-1/2 z-10 -translate-y-1/2 transform rounded-full border-[1px] border-primary bg-white p-2 text-primary transition-all duration-200 hover:bg-opacity-75" },
32
+ react_1.default.createElement("button", { className: "custom-swiper-button-prev border-primary text-primary hover:bg-opacity-75 absolute top-1/2 left-10 z-10 -translate-y-1/2 transform rounded-full border-[1px] bg-white p-2 transition-all duration-200" },
33
33
  react_1.default.createElement(arrow_left_icon_1.ArrowLeftIcon, { fill: "currentColor", className: "size-4" })),
34
- react_1.default.createElement("button", { className: "custom-swiper-button-next absolute right-10 top-1/2 z-10 -translate-y-1/2 transform rounded-full border-[1px] border-primary bg-white p-2 text-primary transition-all duration-200 hover:bg-opacity-75" },
34
+ react_1.default.createElement("button", { className: "custom-swiper-button-next border-primary text-primary hover:bg-opacity-75 absolute top-1/2 right-10 z-10 -translate-y-1/2 transform rounded-full border-[1px] bg-white p-2 transition-all duration-200" },
35
35
  react_1.default.createElement(arrow_right_icon_1.ArrowRightIcon, { fill: "currentColor", className: "size-4" }))))));
36
36
  };
37
37
  exports.BannerSlider = BannerSlider;
@@ -16,7 +16,7 @@ var HighlightBanner = function (_a) {
16
16
  backgroundRepeat: 'no-repeat',
17
17
  } },
18
18
  react_1.default.createElement("div", { className: "kismaa-container rounded-md" },
19
- react_1.default.createElement("div", { className: "mx-auto flex flex-col items-center justify-center px-4 pb-4 pt-5 text-center text-quaternary lg:px-32 lg:pb-5 lg:pt-7" },
19
+ react_1.default.createElement("div", { className: "text-quaternary mx-auto flex flex-col items-center justify-center px-4 pt-5 pb-4 text-center lg:px-32 lg:pt-7 lg:pb-5" },
20
20
  react_1.default.createElement(typography_1.Typography, { variant: typography_1.TYPOGRAPHY_VARIANTS.H1 }, bannerTitle),
21
21
  react_1.default.createElement("div", { className: "mt-3 flex flex-col items-center gap-4 text-gray-600" },
22
22
  react_1.default.createElement(typography_1.Typography, { variant: typography_1.TYPOGRAPHY_VARIANTS.P1 }, bannerDescription),
@@ -38,8 +38,8 @@ var react_1 = __importStar(require("react"));
38
38
  var molecules_1 = require("../../molecules");
39
39
  var type_1 = require("./type");
40
40
  var HoroscopeCardsGrid = function (_a) {
41
- var cardItems = _a.cardItems, _b = _a.cardLimit, cardLimit = _b === void 0 ? type_1.HOROSCOPE_CARDS_LIMITS.FIVE : _b, cardSize = _a.cardSize;
42
- var _c = (0, react_1.useState)(false), isSmallDesktop = _c[0], setIsSmallDesktop = _c[1];
41
+ var cardItems = _a.cardItems, _b = _a.cardLimit, cardLimit = _b === void 0 ? type_1.HOROSCOPE_CARDS_LIMITS.FIVE : _b, cardSize = _a.cardSize, _c = _a.loading, loading = _c === void 0 ? false : _c;
42
+ var _d = (0, react_1.useState)(false), isSmallDesktop = _d[0], setIsSmallDesktop = _d[1];
43
43
  (0, react_1.useEffect)(function () {
44
44
  var handleResize = function () {
45
45
  setIsSmallDesktop(window.innerWidth >= 1020 && window.innerWidth < 1400);
@@ -61,6 +61,9 @@ var HoroscopeCardsGrid = function (_a) {
61
61
  var slicedCardItems = (0, react_1.useMemo)(function () {
62
62
  return cardItems === null || cardItems === void 0 ? void 0 : cardItems.slice(0, cardLimit);
63
63
  }, [cardItems, cardLimit]);
64
+ if (loading)
65
+ return (react_1.default.createElement("div", { className: gridClassName }, Array.from({ length: cardLimit }).map(function (_, index) { return (react_1.default.createElement("div", { key: index, className: cardClassName },
66
+ react_1.default.createElement(molecules_1.HoroscopeShimmerCard, { cardSize: cardSize }))); })));
64
67
  return (react_1.default.createElement("div", { className: gridClassName }, slicedCardItems === null || slicedCardItems === void 0 ? void 0 : slicedCardItems.map(function (card, index) { return (react_1.default.createElement("div", { key: index, className: cardClassName },
65
68
  react_1.default.createElement(molecules_1.HoroscopeCard, { cardHeading: card.cardHeading, cardIcon: card.cardIcon, handleCardOnClick: card.handleCardOnClick, cardSize: cardSize }))); })));
66
69
  };
@@ -67,4 +67,5 @@ exports.horoscopeCardsGridData = {
67
67
  ],
68
68
  cardLimit: 5,
69
69
  cardSize: molecules_1.HOROSCOPE_CARD_SIZES.MD,
70
+ loading: false,
70
71
  };
@@ -8,4 +8,5 @@ export interface HoroscopeCardsGridProps {
8
8
  cardItems: HoroscopeCardProps[];
9
9
  cardLimit: HOROSCOPE_CARDS_LIMITS;
10
10
  cardSize: HOROSCOPE_CARD_SIZES;
11
+ loading: boolean;
11
12
  }
@@ -8,11 +8,11 @@ var react_1 = __importDefault(require("react"));
8
8
  var section_header_1 = require("../section-header");
9
9
  var horoscope_cards_grid_1 = require("../horoscope-cards-grid");
10
10
  var HoroscopeSection = function (_a) {
11
- var breadcrumbs = _a.breadcrumbs, cardItems = _a.cardItems, cardLimit = _a.cardLimit, cardSize = _a.cardSize, sectionHeading = _a.sectionHeading;
11
+ var breadcrumbs = _a.breadcrumbs, cardItems = _a.cardItems, cardLimit = _a.cardLimit, cardSize = _a.cardSize, sectionHeading = _a.sectionHeading, loading = _a.loading;
12
12
  return (react_1.default.createElement("section", { className: "kismaa-section-spacing bg-white" },
13
13
  react_1.default.createElement("div", { className: "kismaa-container" },
14
14
  react_1.default.createElement(section_header_1.SectionHeader, { heading: sectionHeading, subheading: "", renderCtaButton: false, handleButtonClick: function () { return null; }, btnText: "", breadcrumbs: breadcrumbs }),
15
15
  react_1.default.createElement("div", { className: "mt-9" },
16
- react_1.default.createElement(horoscope_cards_grid_1.HoroscopeCardsGrid, { cardItems: cardItems, cardLimit: cardLimit, cardSize: cardSize })))));
16
+ react_1.default.createElement(horoscope_cards_grid_1.HoroscopeCardsGrid, { cardItems: cardItems, cardLimit: cardLimit, cardSize: cardSize, loading: loading })))));
17
17
  };
18
18
  exports.HoroscopeSection = HoroscopeSection;
@@ -10,4 +10,5 @@ exports.horoscopeSectionData = {
10
10
  breadcrumbs: {
11
11
  items: [{ label: 'Hororscope', route: '/horoscope', isActive: false }],
12
12
  },
13
+ loading: false,
13
14
  };
@@ -7,4 +7,5 @@ export interface HoroscopeSectionProps {
7
7
  cardItems: HoroscopeCardProps[];
8
8
  cardLimit: HOROSCOPE_CARDS_LIMITS;
9
9
  cardSize: HOROSCOPE_CARD_SIZES;
10
+ loading: boolean;
10
11
  }
@@ -20,13 +20,13 @@ var TimeLine = function (_a) {
20
20
  return (react_1.default.createElement("ul", { role: "list", className: "space-y-6" }, timelines.map(function (activityItem, activityItemIdx) {
21
21
  var activeState = activityItem.id === isActive;
22
22
  return (react_1.default.createElement("li", { key: activityItem.id, className: "relative flex items-start gap-x-4" },
23
- react_1.default.createElement("div", { className: classNames(activityItemIdx === timelines.length - 1 ? 'h-4' : '-bottom-6', 'absolute left-0 top-0 flex w-6 justify-center') },
23
+ react_1.default.createElement("div", { className: classNames(activityItemIdx === timelines.length - 1 ? 'h-4' : '-bottom-6', 'absolute top-0 left-0 flex w-6 justify-center') },
24
24
  react_1.default.createElement("div", { className: classNames('w-px', 'bg-primary') })),
25
25
  react_1.default.createElement("div", { className: "relative flex w-6 flex-none items-center justify-center bg-white" },
26
26
  react_1.default.createElement("div", { className: classNames('size-4 rounded-full ring-1', activeState
27
27
  ? 'bg-primary ring-primary'
28
- : 'bg-none ring-primary') })),
29
- react_1.default.createElement("div", { className: classNames('-mt-2.5 flex-auto py-1 text-xs/5', activeState ? 'font-semibold text-primary' : 'text-gray-500') },
28
+ : 'ring-primary bg-none') })),
29
+ react_1.default.createElement("div", { className: classNames('-mt-2.5 flex-auto py-1 text-xs/5', activeState ? 'text-primary font-semibold' : 'text-gray-500') },
30
30
  react_1.default.createElement("span", { className: classNames(activeState ? '-mt-2.5 text-black' : '-mt-2.5 text-[#555555]') },
31
31
  react_1.default.createElement(molecules_1.Typography, { variant: activeState
32
32
  ? molecules_1.TYPOGRAPHY_VARIANTS.SUBH3
@@ -256,4 +256,5 @@ exports.userCardGridData = [
256
256
  exports.userGridData = {
257
257
  cardItems: exports.userCardGridData,
258
258
  cardsLimit: 6,
259
+ loading: false,
259
260
  };
@@ -7,4 +7,5 @@ export declare enum USER_CARD_LIMITS {
7
7
  export interface UserGridProps {
8
8
  cardItems: UserCardProps[];
9
9
  cardsLimit: USER_CARD_LIMITS;
10
+ loading: boolean;
10
11
  }
@@ -47,9 +47,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.UserCardsGrid = void 0;
48
48
  var react_1 = __importStar(require("react"));
49
49
  var user_card_1 = require("../../molecules/user-card/user-card");
50
+ var user_card_shimmer_1 = require("../../molecules/user-card-shimmer");
50
51
  var UserCardsGrid = function (_a) {
51
52
  var _b;
52
- var cardItems = _a.cardItems, _c = _a.cardsLimit, cardsLimit = _c === void 0 ? 6 : _c;
53
+ var cardItems = _a.cardItems, _c = _a.cardsLimit, cardsLimit = _c === void 0 ? 6 : _c, loading = _a.loading;
53
54
  var _d = (0, react_1.useState)(false), isTablet = _d[0], setIsTablet = _d[1];
54
55
  (0, react_1.useEffect)(function () {
55
56
  var handleResize = function () {
@@ -62,6 +63,9 @@ var UserCardsGrid = function (_a) {
62
63
  var filteredCardItems = isTablet && cardsLimit === 3
63
64
  ? (_b = cardItems === null || cardItems === void 0 ? void 0 : cardItems.slice(0, cardsLimit)) === null || _b === void 0 ? void 0 : _b.filter(function (_, index) { return index !== 2; })
64
65
  : cardItems === null || cardItems === void 0 ? void 0 : cardItems.slice(0, cardsLimit);
66
+ if (loading)
67
+ return (react_1.default.createElement("div", { className: "mt-10" },
68
+ react_1.default.createElement("div", { className: "grid gap-10 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3" }, Array.from({ length: cardsLimit }).map(function (_, index) { return (react_1.default.createElement(user_card_shimmer_1.UserCardShimmer, { key: index })); }))));
65
69
  return (react_1.default.createElement("div", { className: "mt-10" },
66
70
  react_1.default.createElement("div", { className: "grid gap-10 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3" }, filteredCardItems === null || filteredCardItems === void 0 ? void 0 : filteredCardItems.map(function (userData) { return (react_1.default.createElement(user_card_1.UserCard, __assign({ key: userData.id }, userData))); }))));
67
71
  };
@@ -7,7 +7,7 @@ exports.UserDetailBanner = void 0;
7
7
  var molecules_1 = require("../../molecules");
8
8
  var react_1 = __importDefault(require("react"));
9
9
  var UserDetailBanner = function (_a) {
10
- var userName = _a.userName, bannerImageSrc = _a.bannerImageSrc;
10
+ var userName = _a.userName;
11
11
  return (react_1.default.createElement("div", null,
12
12
  react_1.default.createElement("div", { className: "text-gray-800" },
13
13
  react_1.default.createElement(molecules_1.Typography, { variant: molecules_1.TYPOGRAPHY_VARIANTS.H2 },
@@ -27,4 +27,5 @@ exports.userListExploreData = {
27
27
  onPrevious: function () { return void 0; },
28
28
  subheading: 'Getting started with Kismaa is quick, easy, and free. Start with a 14 day free trial, and end with countless happy patients.',
29
29
  totalPages: 3,
30
+ loading: false,
30
31
  };
@@ -19,4 +19,5 @@ export type UsersListExploreProps = {
19
19
  onPrevious: () => void;
20
20
  subheading: string;
21
21
  totalPages: number;
22
+ loading: boolean;
22
23
  };
@@ -9,11 +9,11 @@ var section_header_1 = require("../section-header");
9
9
  var user_cards_grid_1 = require("../user-cards-grid");
10
10
  var pagination_1 = require("../pagination/pagination");
11
11
  var UsersListExplore = function (_a) {
12
- var badgeText = _a.badgeText, breadcrumbs = _a.breadcrumbs, btnIcon = _a.btnIcon, btnOutlined = _a.btnOutlined, btnText = _a.btnText, btnType = _a.btnType, cardItems = _a.cardItems, cardsLimit = _a.cardsLimit, currentPage = _a.currentPage, handleButtonClick = _a.handleButtonClick, heading = _a.heading, numberOfFilters = _a.numberOfFilters, onNext = _a.onNext, onPageChange = _a.onPageChange, onPrevious = _a.onPrevious, subheading = _a.subheading, totalPages = _a.totalPages;
12
+ var badgeText = _a.badgeText, breadcrumbs = _a.breadcrumbs, btnIcon = _a.btnIcon, btnOutlined = _a.btnOutlined, btnText = _a.btnText, btnType = _a.btnType, cardItems = _a.cardItems, cardsLimit = _a.cardsLimit, currentPage = _a.currentPage, handleButtonClick = _a.handleButtonClick, heading = _a.heading, numberOfFilters = _a.numberOfFilters, onNext = _a.onNext, onPageChange = _a.onPageChange, onPrevious = _a.onPrevious, subheading = _a.subheading, totalPages = _a.totalPages, loading = _a.loading;
13
13
  return (react_1.default.createElement("section", { className: "kismaa-section-spacing bg-white" },
14
14
  react_1.default.createElement("div", { className: "kismaa-container" },
15
15
  react_1.default.createElement(section_header_1.SectionHeader, { badgeText: badgeText, breadcrumbs: breadcrumbs, btnIcon: btnIcon, btnOutlined: btnOutlined, btnText: btnText, btnType: btnType, handleButtonClick: handleButtonClick, heading: heading, numberOfFilters: numberOfFilters, renderCtaButton: true, subheading: subheading }),
16
- react_1.default.createElement(user_cards_grid_1.UserCardsGrid, { cardItems: cardItems, cardsLimit: cardsLimit }),
16
+ react_1.default.createElement(user_cards_grid_1.UserCardsGrid, { cardItems: cardItems, cardsLimit: cardsLimit, loading: loading }),
17
17
  react_1.default.createElement("div", { className: "mt-12" },
18
18
  react_1.default.createElement(pagination_1.Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: onPageChange, onPrevious: onPrevious, onNext: onNext })))));
19
19
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/kismaa-web-ui",
3
- "version": "0.2.33",
3
+ "version": "0.2.35",
4
4
  "source": "src/index.ts",
5
5
  "main": "lib/main.js",
6
6
  "module": "lib/module.js",
@@ -13,8 +13,9 @@
13
13
  "clean": "yarn rimraf ./lib",
14
14
  "deploy:storybook": "concurrently \"yarn storybook:ghpages\" \"sleep 15 && rm ./*out*/favicon.ico && yarn copy:deploy:files\"",
15
15
  "dev": "next dev",
16
- "lint": "next lint",
17
- "lint:fix": "next lint --fix",
16
+ "format": "prettier --write src/",
17
+ "lint": "eslint",
18
+ "lint:fix": "eslint --fix .",
18
19
  "major": "npm version major",
19
20
  "minor": "npm version minor",
20
21
  "patch": "npm version patch",
@@ -43,11 +44,10 @@
43
44
  }
44
45
  },
45
46
  "devDependencies": {
46
- "@appcorp/app-corp-designs": "^0.4.90",
47
- "@appcorp/app-corp-vista": "^0.2.83",
48
- "@appcorp/kismaa-utils": "^0.2.24",
47
+ "@appcorp/app-corp-designs": "^0.4.91",
48
+ "@appcorp/app-corp-vista": "^0.3.0",
49
+ "@appcorp/kismaa-utils": "^0.2.36",
49
50
  "@chromatic-com/storybook": "3.2.6",
50
- "@eslint/compat": "^1.2.8",
51
51
  "@headlessui/react": "^2",
52
52
  "@headlessui/tailwindcss": "^0",
53
53
  "@heroicons/react": "^2",
@@ -55,7 +55,7 @@
55
55
  "@mdx-js/react": "^3",
56
56
  "@next/eslint-plugin-next": "^15",
57
57
  "@next/mdx": "^15",
58
- "@react-pakistan/util-functions": "^1.24.38",
58
+ "@react-pakistan/util-functions": "^1.24.41",
59
59
  "@storybook/addon-essentials": "^8",
60
60
  "@storybook/addon-interactions": "^8",
61
61
  "@storybook/addon-links": "^8",
@@ -77,17 +77,20 @@
77
77
  "@types/node": "^22",
78
78
  "@types/react": "^19",
79
79
  "@types/react-dom": "^19",
80
+ "@typescript-eslint/eslint-plugin": "^8",
81
+ "@typescript-eslint/parser": "^8",
80
82
  "concurrently": "^9",
81
83
  "dayjs": "^1",
82
84
  "eslint": "^9",
83
85
  "eslint-config-next": "^15",
84
- "eslint-config-prettier": "^9.1.0",
85
- "eslint-plugin-prettier": "^5.2.1",
86
- "eslint-plugin-storybook": "^0.11.1",
86
+ "eslint-config-prettier": "^10",
87
+ "eslint-plugin-prettier": "^5",
88
+ "eslint-plugin-storybook": "^9",
87
89
  "globals": "^15",
88
90
  "husky": "^9",
89
91
  "jest": "^29",
90
92
  "jest-environment-jsdom": "^29",
93
+ "libphonenumber-js": "^1",
91
94
  "lint-staged": "15",
92
95
  "next": "^15",
93
96
  "next-mdx-remote": "^5",