@ultraviolet/plus 3.0.0-beta.14 → 3.0.0-beta.16

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/dist/components/ContentCard/styles.css.js +0 -1
  2. package/dist/components/EstimateCost/Components/components.css.js +1 -0
  3. package/dist/components/InfoTable/components/Cell.js +2 -2
  4. package/dist/components/InfoTable/styles.css.d.ts +1 -0
  5. package/dist/components/InfoTable/styles.css.js +2 -0
  6. package/dist/components/OfferList/OfferList.d.ts +1 -0
  7. package/dist/components/OfferList/components/Row.d.ts +1 -0
  8. package/dist/components/OfferList/components/Row.js +1 -1
  9. package/dist/components/Plans/styles.css.js +1 -0
  10. package/dist/components/SteppedListCard/Step.d.ts +6 -1
  11. package/dist/components/SteppedListCard/Step.js +2 -1
  12. package/dist/components/SteppedListCard/SteppedListCard.d.ts +5 -2
  13. package/dist/components/SteppedListCard/SteppedListCard.js +10 -6
  14. package/dist/components/SteppedListCard/SteppedListContent.d.ts +1 -1
  15. package/dist/components/SteppedListCard/helper.d.ts +1 -1
  16. package/dist/components/SteppedListCard/helper.js +2 -1
  17. package/dist/components/SteppedListCard/styles.css.d.ts +1 -0
  18. package/dist/components/SteppedListCard/styles.css.js +2 -0
  19. package/dist/plus.css +1 -1
  20. package/package.json +8 -12
  21. package/dist/components/CodeEditor/CodeEditor.cjs +0 -50
  22. package/dist/components/CodeEditor/styles.css.cjs +0 -9
  23. package/dist/components/ContentCard/Skeleton.cjs +0 -23
  24. package/dist/components/ContentCard/index.cjs +0 -62
  25. package/dist/components/ContentCard/styles.css.cjs +0 -28
  26. package/dist/components/ContentCardGroup/Card.cjs +0 -30
  27. package/dist/components/ContentCardGroup/SkeletonCard.cjs +0 -15
  28. package/dist/components/ContentCardGroup/index.cjs +0 -18
  29. package/dist/components/ContentCardGroup/styles.css.cjs +0 -17
  30. package/dist/components/Conversation/index.cjs +0 -42
  31. package/dist/components/Conversation/styles.css.cjs +0 -17
  32. package/dist/components/CustomerSatisfaction/assets/1-5.svg.cjs +0 -3
  33. package/dist/components/CustomerSatisfaction/assets/1-5NB.svg.cjs +0 -3
  34. package/dist/components/CustomerSatisfaction/assets/2-5.svg.cjs +0 -3
  35. package/dist/components/CustomerSatisfaction/assets/2-5NB.svg.cjs +0 -3
  36. package/dist/components/CustomerSatisfaction/assets/3-5.svg.cjs +0 -3
  37. package/dist/components/CustomerSatisfaction/assets/3-5NB.svg.cjs +0 -3
  38. package/dist/components/CustomerSatisfaction/assets/4-5.svg.cjs +0 -3
  39. package/dist/components/CustomerSatisfaction/assets/4-5NB.svg.cjs +0 -3
  40. package/dist/components/CustomerSatisfaction/assets/5-5.svg.cjs +0 -3
  41. package/dist/components/CustomerSatisfaction/assets/5-5NB.svg.cjs +0 -3
  42. package/dist/components/CustomerSatisfaction/index.cjs +0 -66
  43. package/dist/components/CustomerSatisfaction/styles.css.cjs +0 -6
  44. package/dist/components/EstimateCost/Components/CustomUnitInput.cjs +0 -34
  45. package/dist/components/EstimateCost/Components/Item.cjs +0 -221
  46. package/dist/components/EstimateCost/Components/LineThrough.cjs +0 -11
  47. package/dist/components/EstimateCost/Components/NumberInput.cjs +0 -31
  48. package/dist/components/EstimateCost/Components/Region.cjs +0 -34
  49. package/dist/components/EstimateCost/Components/Regular.cjs +0 -23
  50. package/dist/components/EstimateCost/Components/Strong.cjs +0 -16
  51. package/dist/components/EstimateCost/Components/Unit.cjs +0 -36
  52. package/dist/components/EstimateCost/Components/Zone.cjs +0 -33
  53. package/dist/components/EstimateCost/Components/components.css.cjs +0 -123
  54. package/dist/components/EstimateCost/EstimateCost.cjs +0 -86
  55. package/dist/components/EstimateCost/EstimateCostContent.cjs +0 -206
  56. package/dist/components/EstimateCost/EstimateCostProvider.cjs +0 -37
  57. package/dist/components/EstimateCost/OverlayComponent.cjs +0 -85
  58. package/dist/components/EstimateCost/OverlayContext.cjs +0 -15
  59. package/dist/components/EstimateCost/constants.cjs +0 -28
  60. package/dist/components/EstimateCost/helper.cjs +0 -16
  61. package/dist/components/EstimateCost/locales/en.cjs +0 -23
  62. package/dist/components/EstimateCost/styles.css.cjs +0 -50
  63. package/dist/components/FAQ/index.cjs +0 -49
  64. package/dist/components/FAQ/styles.css.cjs +0 -5
  65. package/dist/components/InfoTable/InfoTable.cjs +0 -20
  66. package/dist/components/InfoTable/components/Cell.cjs +0 -16
  67. package/dist/components/InfoTable/components/Row.cjs +0 -25
  68. package/dist/components/InfoTable/context.cjs +0 -5
  69. package/dist/components/InfoTable/styles.css.cjs +0 -15
  70. package/dist/components/Navigation/Footer.cjs +0 -56
  71. package/dist/components/Navigation/Header.cjs +0 -18
  72. package/dist/components/Navigation/Navigation.cjs +0 -18
  73. package/dist/components/Navigation/NavigationContent.cjs +0 -112
  74. package/dist/components/Navigation/NavigationProvider.cjs +0 -129
  75. package/dist/components/Navigation/components/Group.cjs +0 -37
  76. package/dist/components/Navigation/components/Item.cjs +0 -277
  77. package/dist/components/Navigation/components/ItemProvider.cjs +0 -14
  78. package/dist/components/Navigation/components/PinnedItems.cjs +0 -80
  79. package/dist/components/Navigation/components/Separator.cjs +0 -8
  80. package/dist/components/Navigation/components/items.css.cjs +0 -47
  81. package/dist/components/Navigation/components/styles.css.cjs +0 -17
  82. package/dist/components/Navigation/constants.cjs +0 -10
  83. package/dist/components/Navigation/locales/en.cjs +0 -11
  84. package/dist/components/Navigation/styles.css.cjs +0 -23
  85. package/dist/components/Navigation/variables.css.cjs +0 -4
  86. package/dist/components/OfferList/OfferList.cjs +0 -45
  87. package/dist/components/OfferList/OfferListProvider.cjs +0 -38
  88. package/dist/components/OfferList/components/Banner.cjs +0 -21
  89. package/dist/components/OfferList/components/Cell.cjs +0 -20
  90. package/dist/components/OfferList/components/Row.cjs +0 -113
  91. package/dist/components/OfferList/styles.css.cjs +0 -38
  92. package/dist/components/OrderSummary/NonScrollableContent.cjs +0 -56
  93. package/dist/components/OrderSummary/Provider.cjs +0 -18
  94. package/dist/components/OrderSummary/ScrollableContent.cjs +0 -73
  95. package/dist/components/OrderSummary/constants.cjs +0 -12
  96. package/dist/components/OrderSummary/helpers.cjs +0 -91
  97. package/dist/components/OrderSummary/index.cjs +0 -102
  98. package/dist/components/OrderSummary/locales/en.cjs +0 -11
  99. package/dist/components/OrderSummary/styles.css.cjs +0 -19
  100. package/dist/components/Plans/FeatureHint.cjs +0 -24
  101. package/dist/components/Plans/PlanHeader.cjs +0 -42
  102. package/dist/components/Plans/index.cjs +0 -102
  103. package/dist/components/Plans/locales/en.cjs +0 -7
  104. package/dist/components/Plans/styles.css.cjs +0 -26
  105. package/dist/components/SteppedListCard/Step.cjs +0 -20
  106. package/dist/components/SteppedListCard/SteppedListCard.cjs +0 -54
  107. package/dist/components/SteppedListCard/SteppedListContent.cjs +0 -51
  108. package/dist/components/SteppedListCard/helper.cjs +0 -38
  109. package/dist/components/SteppedListCard/styles.css.cjs +0 -17
  110. package/dist/index.cjs +0 -33
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const ui = require("@ultraviolet/ui");
5
- const react = require("react");
6
- const constants = require("./constants.cjs");
7
- const helpers = require("./helpers.cjs");
8
- const en = require("./locales/en.cjs");
9
- const NonScrollableContent = require("./NonScrollableContent.cjs");
10
- const Provider = require("./Provider.cjs");
11
- const ScrollableContent = require("./ScrollableContent.cjs");
12
- const styles_css = require("./styles.css.cjs");
13
- const OrderSummary = ({
14
- header,
15
- hideTimeUnit = false,
16
- periodOptions = constants.Units,
17
- valueUnitInput = 1,
18
- unitUnitInput = "hours",
19
- items,
20
- locales = en,
21
- currency = "EUR",
22
- localeFormat = "en-US",
23
- footer,
24
- children,
25
- discount = 0,
26
- totalPriceInfo,
27
- fractionDigits,
28
- hideDetails = false,
29
- onChange,
30
- onChangeUnitInput,
31
- totalPriceDescription,
32
- additionalInfo,
33
- className,
34
- "data-testid": dataTestId,
35
- style
36
- }) => {
37
- const [timePeriodUnit, setTimePeriodUnit] = react.useState(unitUnitInput);
38
- const [timePeriodAmount, setTimePeriodAmount] = react.useState(valueUnitInput);
39
- const categoriesPrice = react.useMemo(() => items.reduce((acc, category) => {
40
- const {
41
- categoryPrice,
42
- discountedPrice
43
- } = helpers.calculateCategoryPrice(category, hideTimeUnit, timePeriodAmount, timePeriodUnit);
44
- return {
45
- ...acc,
46
- [category.category]: {
47
- maxPrice: categoryPrice[1],
48
- maxPriceWithDiscount: discountedPrice[1],
49
- timeUnit: unitUnitInput,
50
- totalPrice: categoryPrice[0],
51
- totalPriceWithDiscount: discountedPrice[0]
52
- }
53
- };
54
- }, {}), [hideTimeUnit, items, timePeriodAmount, timePeriodUnit, unitUnitInput]);
55
- const totalPrice = react.useMemo(() => {
56
- const price = Object.values(categoriesPrice).reduce((acc, categoryPrice) => [acc[0] + categoryPrice.totalPriceWithDiscount, acc[1] + categoryPrice.maxPriceWithDiscount], [0, 0]);
57
- const computedPrice = {
58
- maxPrice: Math.max(price[1], 0),
59
- maxPriceWithDiscount: Math.max(price[1] * (discount < 1 ? 1 - discount : 1) - (discount >= 1 ? Math.abs(discount) : 0), 0),
60
- timeUnit: unitUnitInput,
61
- totalPrice: Math.max(price[0], 0),
62
- totalPriceWithDiscount: Math.max(price[0] * (discount < 1 ? 1 - discount : 1) - (discount >= 1 ? Math.abs(discount) : 0), 0)
63
- };
64
- return computedPrice;
65
- }, [categoriesPrice, discount, unitUnitInput]);
66
- const valueContext = react.useMemo(() => ({
67
- categoriesPrice,
68
- currency,
69
- fractionDigits,
70
- hideTimeUnit,
71
- items,
72
- localeFormat,
73
- locales,
74
- timePeriodAmount,
75
- timePeriodUnit
76
- }), [currency, localeFormat, items, categoriesPrice, hideTimeUnit, timePeriodUnit, timePeriodAmount, locales, fractionDigits]);
77
- const computePeriodOptions = react.useMemo(() => {
78
- const computedPeriodOptions = [];
79
- periodOptions.forEach((option) => computedPeriodOptions.push({
80
- label: locales[`order.summary.units.${option}.label`],
81
- value: option
82
- }));
83
- return computedPeriodOptions;
84
- }, [periodOptions, locales]);
85
- react.useEffect(() => {
86
- onChange?.(categoriesPrice, totalPrice);
87
- }, [categoriesPrice, totalPrice, onChange]);
88
- return /* @__PURE__ */ jsxRuntime.jsx(Provider.OrderSummaryContext.Provider, { value: valueContext, children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { className: `${className ? `${className} ` : ""}${styles_css.orderSummaryContainer}`, "data-testId": dataTestId, justifyContent: hideDetails ? "flex-start" : "space-between", style, children: [
89
- header ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", className: styles_css.orderSummaryHeaderContainer[hideDetails ? "hideDetails" : "showDetails"], direction: "row", gap: 2, justifyContent: "space-between", children: [
90
- /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "h3", prominence: "strong", sentiment: "neutral", variant: "headingSmallStrong", children: header }),
91
- !hideTimeUnit && !hideDetails ? /* @__PURE__ */ jsxRuntime.jsx(ui.Stack, { className: styles_css.orderSummaryStackBackground, children: /* @__PURE__ */ jsxRuntime.jsx(ui.UnitInput, { dropdownAlign: "center", maxWidth: "200px", onChange: (value) => {
92
- setTimePeriodAmount(value);
93
- }, onChangeUnitValue: (val) => {
94
- setTimePeriodUnit(val);
95
- onChangeUnitInput?.(val);
96
- }, options: computePeriodOptions, selectInputWidth: "100%", size: "small", templateColumns: "2fr 3fr", unitValue: unitUnitInput, value: valueUnitInput }) }) : null
97
- ] }) : null,
98
- !hideDetails ? /* @__PURE__ */ jsxRuntime.jsx(ScrollableContent.ScrollableContent, {}) : null,
99
- /* @__PURE__ */ jsxRuntime.jsx(NonScrollableContent.NonScrollableContent, { additionalInfo, discount, footer, hideDetails, totalPrice, totalPriceDescription, totalPriceInfo, unit: unitUnitInput, children })
100
- ] }) });
101
- };
102
- exports.OrderSummary = OrderSummary;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- const orderSummaryLocales = {
3
- "order.summary.total": "Estimated cost",
4
- "order.summary.units.days.label": "Day(s)",
5
- "order.summary.units.hours.label": "Hour(s)",
6
- "order.summary.units.minutes.label": "Minute(s)",
7
- "order.summary.units.months.label": "Month(s)",
8
- "order.summary.units.seconds.label": "Second(s)",
9
- "order.summary.units.years.label": "Year(s)"
10
- };
11
- module.exports = orderSummaryLocales;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- ;/* empty css */
4
- var orderSummaryContainer = "uv_plus_1q5g1ma0";
5
- var orderSummaryHeaderContainer = { hideDetails: "uv_plus_1q5g1ma2 uv_plus_1q5g1ma1", showDetails: "uv_plus_1q5g1ma3 uv_plus_1q5g1ma1" };
6
- var orderSummaryStackBackground = "uv_plus_1q5g1ma4";
7
- var orderSummaryNonScrollableContainer = "uv_plus_1q5g1ma5";
8
- var orderSummaryNumberInput = "uv_plus_1q5g1ma6";
9
- var orderSummaryScrollableContainer = "uv_plus_1q5g1ma7";
10
- var orderSummaryDetails = "uv_plus_1q5g1ma8";
11
- var orderSummaryCategory = "uv_plus_1q5g1ma9";
12
- exports.orderSummaryCategory = orderSummaryCategory;
13
- exports.orderSummaryContainer = orderSummaryContainer;
14
- exports.orderSummaryDetails = orderSummaryDetails;
15
- exports.orderSummaryHeaderContainer = orderSummaryHeaderContainer;
16
- exports.orderSummaryNonScrollableContainer = orderSummaryNonScrollableContainer;
17
- exports.orderSummaryNumberInput = orderSummaryNumberInput;
18
- exports.orderSummaryScrollableContainer = orderSummaryScrollableContainer;
19
- exports.orderSummaryStackBackground = orderSummaryStackBackground;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const icons = require("@ultraviolet/icons");
5
- const ui = require("@ultraviolet/ui");
6
- const react = require("react");
7
- const styles_css = require("./styles.css.cjs");
8
- const FeatureHint = ({
9
- hint
10
- }) => {
11
- const [visible, setVisible] = react.useState(false);
12
- if (!hint) {
13
- return /* @__PURE__ */ jsxRuntime.jsx("div", {});
14
- }
15
- if (hint.type === "tooltip") {
16
- return /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { text: hint.text, children: /* @__PURE__ */ jsxRuntime.jsx(icons.InformationOutlineIcon, { prominence: "weak", sentiment: "neutral" }) });
17
- }
18
- return /* @__PURE__ */ jsxRuntime.jsx(ui.Popover, { content: hint.content, onClose: () => setVisible(false), title: hint.title, visible, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_css.plansIconWrapper, "data-testid": "hint-popover", onClick: () => setVisible(true), onKeyDown: (event) => {
19
- if (event.key === "Space" || event.key === "Enter") {
20
- setVisible(true);
21
- }
22
- }, role: "button", tabIndex: 0, children: /* @__PURE__ */ jsxRuntime.jsx(icons.InformationOutlineIcon, { prominence: "weak", sentiment: "neutral" }) }) });
23
- };
24
- exports.FeatureHint = FeatureHint;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const ui = require("@ultraviolet/ui");
5
- const en = require("./locales/en.cjs");
6
- const styles_css = require("./styles.css.cjs");
7
- const PlanHeader = ({
8
- fieldName,
9
- setFocusedPlan,
10
- onChange,
11
- currentPlanValue,
12
- plan,
13
- disabled,
14
- locales = en
15
- }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
16
- fieldName && onChange && !disabled ? /* @__PURE__ */ jsxRuntime.jsx("input", { className: styles_css.plansHeaderInput, "data-testid": plan.value, id: plan.value, name: fieldName, onBlur: () => {
17
- setFocusedPlan(void 0);
18
- }, onChange: () => onChange(plan.value), onFocus: () => {
19
- setFocusedPlan(plan.value);
20
- }, type: "radio", value: plan.value }) : null,
21
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", className: styles_css.plansHeaderFullHeight, gap: 2, justifyContent: "space-between", children: [
22
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", gap: 3, width: "100%", children: [
23
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", gap: 1, children: [
24
- /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { disabled, sentiment: plan.sentiment && plan.sentiment !== "black" && plan.sentiment !== "white" ? plan.sentiment : "primary", children: /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: plan.value, children: plan.title }) }),
25
- plan.titleHeader,
26
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", children: [
27
- /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "span", disabled, sentiment: plan.sentiment ?? "primary", variant: "headingSmallStrong", children: plan.header.price }),
28
- /* @__PURE__ */ jsxRuntime.jsx(ui.Stack, { style: {
29
- minHeight: "16px"
30
- }, children: plan.header.priceDescription ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "span", disabled, sentiment: plan.sentiment ?? "primary", variant: "caption", children: plan.header.priceDescription }) : null })
31
- ] })
32
- ] }),
33
- plan.header.description ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_css.plansDescription, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "div", disabled, variant: "caption", children: plan.header.description }) }) : null
34
- ] }),
35
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", gap: 3, width: "100%", children: [
36
- plan.header.cta && currentPlanValue !== plan.value ? plan.header.cta : null,
37
- plan.header.cta && currentPlanValue === plan.value ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_css.plansCurrentWrapper, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "span", disabled, sentiment: plan.sentiment ?? "primary", variant: "bodySmallStrong", children: locales["plans.currentPlan"] }) }) : null,
38
- plan.header.separator ? /* @__PURE__ */ jsxRuntime.jsx(ui.Separator, { className: styles_css.plansFullSizeSeparator }) : null
39
- ] })
40
- ] })
41
- ] });
42
- exports.PlanHeader = PlanHeader;
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const icons = require("@ultraviolet/icons");
5
- const ui = require("@ultraviolet/ui");
6
- const react = require("react");
7
- const FeatureHint = require("./FeatureHint.cjs");
8
- const en = require("./locales/en.cjs");
9
- const PlanHeader = require("./PlanHeader.cjs");
10
- const styles_css = require("./styles.css.cjs");
11
- const Plans = ({
12
- fieldName,
13
- onChange,
14
- value,
15
- features,
16
- plans,
17
- hideFeatureText = false,
18
- hideLabels = false,
19
- locales = en,
20
- style
21
- }) => {
22
- const hasCardBehavior = !!(fieldName && onChange);
23
- const [focusedPlan, setFocusedPlan] = react.useState();
24
- const [hoveredPlan, setHoveredPlan] = react.useState();
25
- return /* @__PURE__ */ jsxRuntime.jsxs("table", { className: styles_css.plans, style, children: [
26
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
27
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: styles_css.plansCell({
28
- hide: hideLabels
29
- }), children: !hideFeatureText ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "span", variant: "headingSmallStrong", children: locales["plans.features"] }) : null }),
30
- plans.map((plan) => {
31
- const computedDisabled = !!(plan.outOfStock || plan.disabled);
32
- const selectable = hasCardBehavior && !computedDisabled;
33
- return /* @__PURE__ */ jsxRuntime.jsxs("td", { className: styles_css.plansCell({
34
- activeColor: value === plan.value || hoveredPlan === plan.value,
35
- disabled: computedDisabled,
36
- focus: focusedPlan === plan.value,
37
- hideLabels,
38
- selectable
39
- }), onBlur: selectable ? () => setHoveredPlan(void 0) : void 0, onClick: selectable ? () => onChange(plan.value) : void 0, onFocus: selectable ? () => setHoveredPlan(plan.value) : void 0, onKeyDown: (event) => {
40
- if ([" ", "Enter"].includes(event.key) && selectable) {
41
- onChange(plan.value);
42
- }
43
- }, onMouseOut: selectable ? () => setHoveredPlan(void 0) : void 0, onMouseOver: selectable ? () => setHoveredPlan(plan.value) : void 0, children: [
44
- plan.outOfStock ? /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { className: styles_css.plansOutOfStockBadge, size: "small", children: locales["plans.outOfStock"] }) : null,
45
- plan.header.quotas ? /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { className: styles_css.plansOutOfStockBadge, size: "small", children: plan.header.quotas }) : null,
46
- /* @__PURE__ */ jsxRuntime.jsx(PlanHeader.PlanHeader, { currentPlanValue: value, disabled: computedDisabled, fieldName, onChange, plan, setFocusedPlan })
47
- ] }, plan.value);
48
- })
49
- ] }) }),
50
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: features.map((feature) => {
51
- if ("group" in feature) {
52
- return /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: hideLabels ? styles_css.plansRowHidden : "", children: [
53
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: styles_css.plansCell({}), children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", direction: "row", gap: 1, children: [
54
- /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "p", className: styles_css.plansUppercaseText, sentiment: "neutral", variant: "bodySmallStronger", children: feature.group }),
55
- feature.hint ? /* @__PURE__ */ jsxRuntime.jsx(FeatureHint.FeatureHint, { hint: feature.hint }) : null
56
- ] }) }),
57
- plans.map((plan) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: styles_css.plansCell({
58
- activeColor: value === plan.value || hoveredPlan === plan.value,
59
- disabled: plan.outOfStock || plan.disabled,
60
- focus: focusedPlan === plan.value,
61
- hide: hideLabels
62
- }) }, plan.value))
63
- ] }, feature.group);
64
- }
65
- const featureKey = feature.key ?? "";
66
- return /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
67
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: styles_css.plansCell({
68
- hide: hideLabels
69
- }), children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { children: [
70
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { alignItems: "center", direction: "row", gap: 1, children: [
71
- /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "p", variant: "bodyStrong", children: feature.text }),
72
- /* @__PURE__ */ jsxRuntime.jsx(FeatureHint.FeatureHint, { hint: feature.hint })
73
- ] }),
74
- feature.description ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "div", placement: "start", prominence: "weak", sentiment: "neutral", variant: "caption", children: feature.description }) : null
75
- ] }) }),
76
- plans.map((plan) => {
77
- const computedDisabled = plan.outOfStock || plan.disabled;
78
- const selectable = hasCardBehavior && !computedDisabled;
79
- return /* @__PURE__ */ jsxRuntime.jsxs("td", { className: styles_css.plansCell({
80
- activeColor: value === plan.value || hoveredPlan === plan.value,
81
- disabled: computedDisabled,
82
- focus: focusedPlan === plan.value,
83
- hideLabels,
84
- selectable
85
- }), "data-testid": `${plan.value}-${feature.key}`, onBlur: () => {
86
- }, onClick: selectable ? () => onChange(plan.value) : void 0, onFocus: () => {
87
- }, onKeyDown: () => {
88
- }, onMouseOut: selectable ? () => {
89
- setHoveredPlan(void 0);
90
- } : void 0, onMouseOver: selectable ? () => {
91
- setHoveredPlan(plan.value);
92
- } : void 0, children: [
93
- plan.data[featureKey] === false ? /* @__PURE__ */ jsxRuntime.jsx(icons.CloseIcon, { disabled: computedDisabled, prominence: "weak", sentiment: "neutral", size: "large" }) : null,
94
- plan.data[featureKey] === true ? /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircleIcon, { disabled: computedDisabled, sentiment: "success", size: "medium" }) : null,
95
- typeof plan.data[featureKey] !== "boolean" ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "span", disabled: computedDisabled, sentiment: "neutral", variant: "body", children: plan.data[featureKey] }) : null
96
- ] }, plan.value);
97
- })
98
- ] }, feature.key);
99
- }) })
100
- ] });
101
- };
102
- exports.Plans = Plans;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- const locales = {
3
- "plans.currentPlan": "Current plan",
4
- "plans.features": "Features",
5
- "plans.outOfStock": "Out of stock"
6
- };
7
- module.exports = locales;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- ;/* empty css */
4
- const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
5
- var plansIconWrapper = "uv_plus_11wud800";
6
- var plans = "uv_plus_11wud801";
7
- var plansOutOfStockBadge = "uv_plus_11wud802";
8
- var plansCell = createRuntimeFn.createRuntimeFn({ defaultClassName: "uv_plus_11wud803", variantClassNames: { disabled: { true: "uv_plus_11wud804" }, hide: { true: "uv_plus_11wud805" }, selectable: { true: "uv_plus_11wud806" }, hideLabels: { true: "uv_plus_11wud807" }, activeColor: { true: "uv_plus_11wud808" }, focus: { true: "uv_plus_11wud809" }, spaceAfter: { true: "uv_plus_11wud80a" } }, defaultVariants: { disabled: false, hide: false, selectable: false, hideLabels: false, activeColor: false, focus: false, spaceAfter: false }, compoundVariants: [] });
9
- var plansRowHidden = "uv_plus_11wud80b";
10
- var plansUppercaseText = "uv_plus_11wud80c";
11
- var plansHeaderInput = "uv_plus_11wud80d";
12
- var plansHeaderFullHeight = "uv_plus_11wud80e";
13
- var plansDescription = "uv_plus_11wud80f";
14
- var plansFullSizeSeparator = "uv_plus_11wud80g";
15
- var plansCurrentWrapper = "uv_plus_11wud80h";
16
- exports.plans = plans;
17
- exports.plansCell = plansCell;
18
- exports.plansCurrentWrapper = plansCurrentWrapper;
19
- exports.plansDescription = plansDescription;
20
- exports.plansFullSizeSeparator = plansFullSizeSeparator;
21
- exports.plansHeaderFullHeight = plansHeaderFullHeight;
22
- exports.plansHeaderInput = plansHeaderInput;
23
- exports.plansIconWrapper = plansIconWrapper;
24
- exports.plansOutOfStockBadge = plansOutOfStockBadge;
25
- exports.plansRowHidden = plansRowHidden;
26
- exports.plansUppercaseText = plansUppercaseText;
@@ -1,20 +0,0 @@
1
- "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const icons = require("@ultraviolet/icons");
6
- const ui = require("@ultraviolet/ui");
7
- const react = require("react");
8
- const helper = require("./helper.cjs");
9
- const styles_css = require("./styles.css.cjs");
10
- const SteppedList = ({
11
- stepNumber,
12
- stepTitle,
13
- completed,
14
- "data-testid": dataTestId
15
- }) => {
16
- const containerData = react.useContext(helper.Data);
17
- const active = containerData.currentStep === stepNumber;
18
- return completed ? /* @__PURE__ */ jsxRuntime.jsx(ui.StepList.Item, { bulletContent: /* @__PURE__ */ jsxRuntime.jsx(icons.CheckIcon, {}), className: styles_css.steppedListCardStep, "data-testid": dataTestId, onClick: () => containerData.setCurrentStep(stepNumber), prominence: active ? "strong" : "default", sentiment: "primary", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "h3", className: styles_css.steppedListCardStepTitle, variant: active ? "bodyStrong" : "body", children: stepTitle }) }) : /* @__PURE__ */ jsxRuntime.jsx(ui.StepList.Item, { bulletContent: String(stepNumber), className: styles_css.steppedListCardStep, "data-testid": dataTestId, onClick: () => containerData.setCurrentStep(stepNumber), prominence: active ? "strong" : void 0, sentiment: active ? "primary" : void 0, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "h3", className: styles_css.steppedListCardStepTitle, variant: active ? "bodyStrong" : "body", children: stepTitle }) });
19
- };
20
- exports.SteppedList = SteppedList;
@@ -1,54 +0,0 @@
1
- "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const ui = require("@ultraviolet/ui");
6
- const react = require("react");
7
- const helper = require("./helper.cjs");
8
- const Step = require("./Step.cjs");
9
- const SteppedListContent = require("./SteppedListContent.cjs");
10
- const styles_css = require("./styles.css.cjs");
11
- const SteppedListCard = ({
12
- header,
13
- showToggleOption = true,
14
- hideTooltipText,
15
- hideText = "Hide",
16
- showText = "Show",
17
- showTooltipText,
18
- children,
19
- steps,
20
- onClickHide
21
- }) => {
22
- const numberOfSteps = react.Children.count(children);
23
- const [currentStep, setCurrentStep] = react.useState(1);
24
- const [hidden, setHidden] = react.useState(false);
25
- const [done, setDone] = react.useState(new Array(steps.length).fill(false));
26
- const values = react.useMemo(() => ({
27
- currentStep,
28
- done,
29
- numberOfSteps,
30
- onClickHide,
31
- setCurrentStep,
32
- setDone,
33
- setHidden
34
- }), [currentStep, setCurrentStep, numberOfSteps, done, setDone, setHidden, onClickHide]);
35
- const onClickHideButton = () => {
36
- if (onClickHide) {
37
- onClickHide();
38
- } else {
39
- setHidden(!hidden);
40
- }
41
- };
42
- return /* @__PURE__ */ jsxRuntime.jsx(helper.Data.Provider, { value: values, children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { gap: 3, children: [
43
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Row, { templateColumns: "9fr 1fr", children: [
44
- typeof header === "string" ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "h3", variant: "heading", children: header }) : header,
45
- showToggleOption ? /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: onClickHideButton, sentiment: "neutral", size: "small", tooltip: hidden ? showTooltipText : hideTooltipText, variant: "ghost", children: hidden ? showText : hideText }) : null
46
- ] }),
47
- hidden ? null : /* @__PURE__ */ jsxRuntime.jsx(ui.Card, { className: styles_css.steppedListCard, children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Row, { templateColumns: "1fr 3fr", children: [
48
- /* @__PURE__ */ jsxRuntime.jsx(ui.Stack, { className: styles_css.steppedListCardWrapper, direction: "column", gap: 4, children: /* @__PURE__ */ jsxRuntime.jsx(ui.StepList, { children: steps.map((step, index) => /* @__PURE__ */ jsxRuntime.jsx(Step.SteppedList, { completed: done[index], stepNumber: index + 1, stepTitle: step }, step)) }) }),
49
- children
50
- ] }) })
51
- ] }) });
52
- };
53
- SteppedListCard.Step = SteppedListContent.SteppedListContent;
54
- exports.SteppedListCard = SteppedListCard;
@@ -1,51 +0,0 @@
1
- "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const jsxRuntime = require("@emotion/react/jsx-runtime");
5
- const ui = require("@ultraviolet/ui");
6
- const react = require("react");
7
- const helper = require("./helper.cjs");
8
- const styles_css = require("./styles.css.cjs");
9
- const SteppedListContent = ({
10
- subHeader,
11
- children,
12
- image,
13
- stepNumber,
14
- completed = false,
15
- style
16
- }) => {
17
- const {
18
- setDone,
19
- currentStep,
20
- done,
21
- setCurrentStep,
22
- numberOfSteps,
23
- setHidden,
24
- onClickHide
25
- } = react.useContext(helper.Data);
26
- react.useEffect(() => {
27
- setDone((prevDone) => {
28
- const updatedDone = [...prevDone];
29
- updatedDone[stepNumber - 1] = completed;
30
- return updatedDone;
31
- });
32
- }, [completed, setDone, stepNumber]);
33
- if (stepNumber === currentStep) {
34
- return /* @__PURE__ */ jsxRuntime.jsxs(ui.Stack, { className: styles_css.steppedListCardContent, style, children: [
35
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_css.steppedListCardSubHeader, children: typeof subHeader === "string" ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { as: "h3", variant: "headingSmallStrong", children: subHeader }) : subHeader }),
36
- typeof children === "function" ? children((completedArg) => helper.nextStep({
37
- completed: completedArg,
38
- done,
39
- numberOfSteps,
40
- onClickHide,
41
- setCompleted: setDone,
42
- setCurrentStep,
43
- setHidden,
44
- stepNumber
45
- })) : children,
46
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_css.steppedListCardImage, children: image })
47
- ] });
48
- }
49
- return null;
50
- };
51
- exports.SteppedListContent = SteppedListContent;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const react = require("react");
4
- const Data = react.createContext({
5
- currentStep: 1,
6
- done: [false, false, false, false, false],
7
- numberOfSteps: 1,
8
- onClickHide: () => {
9
- },
10
- setCurrentStep: () => {
11
- },
12
- setDone: () => {
13
- },
14
- setHidden: () => {
15
- }
16
- });
17
- const nextStep = ({
18
- completed,
19
- setCompleted,
20
- stepNumber,
21
- setCurrentStep,
22
- numberOfSteps,
23
- setHidden,
24
- done,
25
- onClickHide
26
- }) => {
27
- const tempDone = done.map((item, index) => index === stepNumber - 1 ? completed : item);
28
- setCompleted(tempDone);
29
- if (numberOfSteps > stepNumber) {
30
- setCurrentStep(stepNumber + 1);
31
- } else if (onClickHide) {
32
- onClickHide();
33
- } else {
34
- setHidden(true);
35
- }
36
- };
37
- exports.Data = Data;
38
- exports.nextStep = nextStep;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- ;/* empty css */
4
- var steppedListCard = "uv_plus_l0ny240";
5
- var steppedListCardWrapper = "uv_plus_l0ny241";
6
- var steppedListCardContent = "uv_plus_l0ny242";
7
- var steppedListCardImage = "uv_plus_l0ny243";
8
- var steppedListCardSubHeader = "uv_plus_l0ny244";
9
- var steppedListCardStepTitle = "uv_plus_l0ny245";
10
- var steppedListCardStep = "uv_plus_l0ny246";
11
- exports.steppedListCard = steppedListCard;
12
- exports.steppedListCardContent = steppedListCardContent;
13
- exports.steppedListCardImage = steppedListCardImage;
14
- exports.steppedListCardStep = steppedListCardStep;
15
- exports.steppedListCardStepTitle = steppedListCardStepTitle;
16
- exports.steppedListCardSubHeader = steppedListCardSubHeader;
17
- exports.steppedListCardWrapper = steppedListCardWrapper;
package/dist/index.cjs DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const CodeEditor = require("./components/CodeEditor/CodeEditor.cjs");
4
- const index = require("./components/ContentCard/index.cjs");
5
- const index$1 = require("./components/ContentCardGroup/index.cjs");
6
- const index$2 = require("./components/Conversation/index.cjs");
7
- const index$3 = require("./components/CustomerSatisfaction/index.cjs");
8
- const EstimateCost = require("./components/EstimateCost/EstimateCost.cjs");
9
- const en = require("./components/EstimateCost/locales/en.cjs");
10
- const index$4 = require("./components/FAQ/index.cjs");
11
- const InfoTable = require("./components/InfoTable/InfoTable.cjs");
12
- const Navigation = require("./components/Navigation/Navigation.cjs");
13
- const NavigationProvider = require("./components/Navigation/NavigationProvider.cjs");
14
- const OfferList = require("./components/OfferList/OfferList.cjs");
15
- const index$5 = require("./components/OrderSummary/index.cjs");
16
- const index$6 = require("./components/Plans/index.cjs");
17
- const SteppedListCard = require("./components/SteppedListCard/SteppedListCard.cjs");
18
- exports.CodeEditor = CodeEditor.CodeEditor;
19
- exports.ContentCard = index.ContentCard;
20
- exports.ContentCardGroup = index$1.ContentCardGroup;
21
- exports.Conversation = index$2.Conversation;
22
- exports.CustomerSatisfaction = index$3.CustomerSatisfaction;
23
- exports.EstimateCost = EstimateCost.EstimateCost;
24
- exports.estimateCostDefaultLocales = en;
25
- exports.FAQ = index$4.FAQ;
26
- exports.InfoTable = InfoTable.InfoTable;
27
- exports.Navigation = Navigation.Navigation;
28
- exports.NavigationProvider = NavigationProvider.NavigationProvider;
29
- exports.useNavigation = NavigationProvider.useNavigation;
30
- exports.OfferList = OfferList.OfferList;
31
- exports.OrderSummary = index$5.OrderSummary;
32
- exports.Plans = index$6.Plans;
33
- exports.SteppedListCard = SteppedListCard.SteppedListCard;