@hortiview/shared-components 0.0.11176 → 0.0.11587

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 (190) hide show
  1. package/README.md +58 -8
  2. package/dist/BigLoadingSpinner-iegTbDcD.js +16 -0
  3. package/dist/GenericCard-6J558OgP.js +350 -0
  4. package/dist/ListAreaService-DOwtdRa4.js +109 -0
  5. package/dist/_MapCache-B75yWNNd.js +376 -0
  6. package/dist/_baseIsEqual-D0Dsajdb.js +317 -0
  7. package/dist/_getTag-BCf9b56Z.js +81 -0
  8. package/dist/animationframe-EMBh6XeO.js +54 -0
  9. package/dist/assets/HashTabView.css +1 -1
  10. package/dist/assets/Select.css +1 -0
  11. package/dist/component-DsB0poTj.js +571 -0
  12. package/dist/component-neHBNHRu.js +114 -0
  13. package/dist/components/AlertBanner/AlertBanner.d.ts +0 -1
  14. package/dist/components/AlertBanner/AlertBanner.js +15 -15
  15. package/dist/components/AlertBanner/AlertBanner.test.js +11 -9
  16. package/dist/components/BaseView/BaseView.d.ts +1 -1
  17. package/dist/components/BaseView/BaseView.js +27 -28
  18. package/dist/components/BaseView/BaseView.test.js +25 -25
  19. package/dist/components/BasicHeading/BasicHeading.d.ts +1 -0
  20. package/dist/components/BasicHeading/BasicHeading.js +17 -17
  21. package/dist/components/BasicHeading/BasicHeading.test.js +10 -10
  22. package/dist/components/BlockView/BlockView.d.ts +1 -0
  23. package/dist/components/BlockView/BlockView.js +24 -25
  24. package/dist/components/BlockView/BlockView.test.js +2 -2
  25. package/dist/components/ChipCard/ChipCard.js +1765 -15
  26. package/dist/components/ChipCard/ChipCard.test.js +2 -2
  27. package/dist/components/ContextMenu/ContextMenu.d.ts +3 -2
  28. package/dist/components/ContextMenu/ContextMenu.js +28 -28
  29. package/dist/components/ContextMenu/ContextMenu.test.js +2 -2
  30. package/dist/components/DeleteModal/DeleteModal.d.ts +0 -1
  31. package/dist/components/DeleteModal/DeleteModal.js +53 -51
  32. package/dist/components/DeleteModal/DeleteModal.test.js +2 -2
  33. package/dist/components/Disclaimer/Disclaimer.js +12 -11
  34. package/dist/components/Disclaimer/Disclaimer.test.js +2 -2
  35. package/dist/components/EmptyView/EmptyView.d.ts +1 -0
  36. package/dist/components/EmptyView/EmptyView.js +258 -19
  37. package/dist/components/EmptyView/EmptyView.test.js +2 -2
  38. package/dist/components/Filter/Filter.d.ts +1 -0
  39. package/dist/components/Filter/Filter.js +81 -77
  40. package/dist/components/Filter/Filter.test.js +2 -2
  41. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts +1 -0
  42. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.js +13 -11
  43. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.test.js +2 -2
  44. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.d.ts +3 -2
  45. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.js +5975 -6389
  46. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.test.js +2 -2
  47. package/dist/components/FormComponents/FormNumber/CustomTextField.d.ts +2 -1
  48. package/dist/components/FormComponents/FormNumber/CustomTextField.js +13 -14
  49. package/dist/components/FormComponents/FormNumber/FormNumber.d.ts +2 -1
  50. package/dist/components/FormComponents/FormNumber/FormNumber.js +2 -2
  51. package/dist/components/FormComponents/FormNumber/FormNumber.test.js +4 -4
  52. package/dist/components/FormComponents/FormRadio/FormRadio.d.ts +1 -0
  53. package/dist/components/FormComponents/FormRadio/FormRadio.js +4 -4
  54. package/dist/components/FormComponents/FormRadio/FormRadio.test.js +2 -2
  55. package/dist/components/FormComponents/FormSelect/FormSelect.d.ts +4 -7
  56. package/dist/components/FormComponents/FormSelect/FormSelect.js +100 -110
  57. package/dist/components/FormComponents/FormSelect/FormSelect.test.js +3 -3
  58. package/dist/components/FormComponents/FormSelect/SelectTooltipText.d.ts +1 -0
  59. package/dist/components/FormComponents/FormSelect/SelectTooltipText.js +6 -5
  60. package/dist/components/FormComponents/FormSlider/FormSlider.d.ts +1 -0
  61. package/dist/components/FormComponents/FormSlider/FormSlider.js +1155 -27
  62. package/dist/components/FormComponents/FormSlider/FormSlider.test.js +2 -2
  63. package/dist/components/FormComponents/FormText/FormText.d.ts +2 -1
  64. package/dist/components/FormComponents/FormText/FormText.js +28 -28
  65. package/dist/components/FormComponents/FormText/FormText.test.js +13 -13
  66. package/dist/components/FormComponents/FormToggle/FormToggle.d.ts +2 -1
  67. package/dist/components/FormComponents/FormToggle/FormToggle.js +17 -15
  68. package/dist/components/FormComponents/FormToggle/FormToggle.test.js +2 -2
  69. package/dist/components/FormattedNumberDisplay/FormattedNumberDisplay.d.ts +2 -1
  70. package/dist/components/FormattedNumberDisplay/FormattedNumberDisplay.js +1 -1
  71. package/dist/components/GenericTable/GenericTable.d.ts +1 -0
  72. package/dist/components/GenericTable/GenericTable.js +10487 -76
  73. package/dist/components/GenericTable/GenericTable.test.js +2 -2
  74. package/dist/components/GenericTable/GenericTableService.d.ts +1 -0
  75. package/dist/components/GenericTable/GenericTableService.js +41 -41
  76. package/dist/components/GenericTable/Mobile/GenericCard.d.ts +1 -1
  77. package/dist/components/GenericTable/Mobile/GenericCard.js +4 -3
  78. package/dist/components/GenericTable/Mobile/GenericCard.test.js +3 -3
  79. package/dist/components/GenericTable/Mobile/GenericCardList.d.ts +1 -1
  80. package/dist/components/GenericTable/Mobile/GenericCardList.js +10 -8
  81. package/dist/components/GenericTable/Mobile/GenericCardList.test.js +2 -2
  82. package/dist/components/HashTabView/HashTabView.d.ts +6 -1
  83. package/dist/components/HashTabView/HashTabView.js +1805 -72
  84. package/dist/components/HashTabView/HashTabView.test.js +2 -2
  85. package/dist/components/HeaderFilter/HeaderFilter.d.ts +3 -2
  86. package/dist/components/HeaderFilter/HeaderFilter.js +14 -14
  87. package/dist/components/HeaderFilter/HeaderFilter.test.js +2 -2
  88. package/dist/components/HealthCheckFailed/HealthCheckFailed.js +19 -17
  89. package/dist/components/HealthCheckFailed/HealthCheckFailed.test.js +2 -2
  90. package/dist/components/Iconify/Iconify.d.ts +2 -3
  91. package/dist/components/Iconify/Iconify.js +44 -45
  92. package/dist/components/Iconify/Iconify.test.js +2 -2
  93. package/dist/components/InfoGroup/InfoGroup.d.ts +4 -3
  94. package/dist/components/InfoGroup/InfoGroup.js +30 -29
  95. package/dist/components/InfoGroup/InfoGroup.test.js +2 -2
  96. package/dist/components/ListArea/ListArea.d.ts +1 -1
  97. package/dist/components/ListArea/ListArea.js +29 -27
  98. package/dist/components/ListArea/ListArea.test.js +5 -5
  99. package/dist/components/ListArea/ListAreaService.d.ts +9 -8
  100. package/dist/components/ListArea/ListAreaService.js +7 -5
  101. package/dist/components/LoadingSpinner/Big/BigLoadingSpinner.js +2 -2
  102. package/dist/components/LoadingSpinner/Big/BigLoadingSpinner.test.js +3 -3
  103. package/dist/components/LoadingSpinner/Default/LoadingSpinner.js +506 -38
  104. package/dist/components/LoadingSpinner/Default/LoadingSpinner.test.js +2 -2
  105. package/dist/components/Modal/Modal.d.ts +2 -1
  106. package/dist/components/Modal/Modal.js +926 -10
  107. package/dist/components/ModulePadding/ModulePadding.d.ts +7 -0
  108. package/dist/components/ModulePadding/ModulePadding.js +28 -0
  109. package/dist/components/ModulePadding/ModulePadding.test.d.ts +1 -0
  110. package/dist/components/ModulePadding/ModulePadding.test.js +22 -0
  111. package/dist/components/OverflowTooltip/OverflowTooltip.d.ts +0 -1
  112. package/dist/components/OverflowTooltip/OverflowTooltip.js +13 -14
  113. package/dist/components/OverflowTooltip/OverflowTooltip.test.js +4 -4
  114. package/dist/components/Scrollbar/Scrollbar.js +5 -6
  115. package/dist/components/Scrollbar/scrollbar.test.js +2 -2
  116. package/dist/components/SearchBar/SearchBar.js +11 -11
  117. package/dist/components/SearchBar/SearchBar.test.js +2 -2
  118. package/dist/components/Select/Select.d.ts +14 -0
  119. package/dist/components/Select/Select.js +34 -0
  120. package/dist/components/Select/Select.test.d.ts +1 -0
  121. package/dist/components/Select/Select.test.js +28 -0
  122. package/dist/components/VerticalDivider/VerticalDivider.js +4 -5
  123. package/dist/components/VerticalDivider/VerticalDivider.test.js +2 -2
  124. package/dist/floating-ui.dom-CeD8zknG.js +978 -0
  125. package/dist/get-7ACccM2X.js +114 -0
  126. package/dist/{get-BiqanC9_.js → get-DFv1gXfq.js} +1 -1
  127. package/dist/hooks/useBreakpoints.test.js +2 -2
  128. package/dist/hooks/useHelperText.d.ts +1 -0
  129. package/dist/hooks/useHelperText.js +1 -1
  130. package/dist/identity-DLWZln-X.js +1763 -0
  131. package/dist/{index-DzM8o582.js → index-CrcXCSzI.js} +1940 -1796
  132. package/dist/index.es-0lQcz8m1.js +444 -0
  133. package/dist/index.es-25EARqhH.js +2027 -0
  134. package/dist/index.es-3043KTnb.js +1066 -0
  135. package/dist/index.es-41ztjcFT.js +724 -0
  136. package/dist/index.es-6TJ1S8Jr.js +954 -0
  137. package/dist/index.es-8GOVkuo-.js +374 -0
  138. package/dist/index.es-B-_jXDuz.js +216 -0
  139. package/dist/index.es-BWgXLqXn.js +102 -0
  140. package/dist/index.es-BtjV0oNv.js +360 -0
  141. package/dist/index.es-BvrQnJ3j.js +509 -0
  142. package/dist/index.es-CF_xy2ns.js +674 -0
  143. package/dist/index.es-CL_Heu1n.js +54 -0
  144. package/dist/index.es-CiqbARoC.js +306 -0
  145. package/dist/index.es-D-CKRzIB.js +63 -0
  146. package/dist/index.es-D6N-XWHe.js +56 -0
  147. package/dist/index.es-DKDgy7Kt.js +45 -0
  148. package/dist/index.es-DntoATwO.js +159 -0
  149. package/dist/index.es-UHKFl8Da.js +7075 -0
  150. package/dist/index.es-d5xhUpJZ.js +3242 -0
  151. package/dist/index.es-da0cf7oE.js +569 -0
  152. package/dist/index.es-h2lMdt7G.js +107 -0
  153. package/dist/index.es-zr101OF5.js +4853 -0
  154. package/dist/{isArray-2zMxXFEr.js → isArray-DN9s620O.js} +3 -3
  155. package/dist/{isArray-C_5XvIlE.js → isArray-Dub1wGJM.js} +1 -1
  156. package/dist/isEmpty-B4GG2s-V.js +31 -0
  157. package/dist/isPlainObject-C273y67K.js +40 -0
  158. package/dist/isString-BW9UHONv.js +21 -0
  159. package/dist/keyboard-Bpt0aBqQ.js +107 -0
  160. package/dist/main.d.ts +3 -0
  161. package/dist/main.js +58 -54
  162. package/dist/orderBy-Bd48bw88.js +316 -0
  163. package/dist/{react-number-format.es-BD3_OvMU.js → react-number-format.es-BK1EpVXq.js} +151 -151
  164. package/dist/react-tooltip.min-DSY6KDqS.js +431 -0
  165. package/dist/{react.esm-FR1-H8iU.js → react.esm-DNwojocF.js} +5289 -4990
  166. package/dist/services/BlockService.d.ts +1 -0
  167. package/dist/services/NumberService.d.ts +1 -0
  168. package/dist/services/UtilService.d.ts +1 -0
  169. package/dist/services/UtilService.js +2 -2
  170. package/dist/services/services.test.js +1 -1
  171. package/dist/toString-CrgB_7Pe.js +54 -0
  172. package/dist/tslib.es6-BDCynO9F.js +162 -0
  173. package/dist/types/GenericTable.d.ts +2 -2
  174. package/dist/types/HashTab.d.ts +0 -1
  175. package/dist/types/ListElement.d.ts +0 -1
  176. package/dist/types/internal/ReactRouterTypes.d.ts +0 -1
  177. package/dist/uniqueId-NU3-C36A.js +18 -0
  178. package/dist/util-DA21pZXj.js +78 -0
  179. package/dist/{vi.CjhMlMwf-DWv7vrn7.js → vi.CjhMlMwf-BCJNwXvu.js} +1 -1
  180. package/package.json +15 -15
  181. package/dist/BigLoadingSpinner-C3wTbTD0.js +0 -17
  182. package/dist/GenericCard-B8x1DMa8.js +0 -81
  183. package/dist/ListAreaService-CRX4eEUJ.js +0 -108
  184. package/dist/_Map-Dtlps7IZ.js +0 -113
  185. package/dist/_overArg-_0pUmCsX.js +0 -14
  186. package/dist/get-P-5PYZOE.js +0 -426
  187. package/dist/isEmpty-BimaZd5G.js +0 -225
  188. package/dist/isString-BOHPtrlm.js +0 -44
  189. package/dist/orderBy-BVQIswlJ.js +0 -765
  190. package/dist/react-tooltip.min-c2wVkjF2.js +0 -1354
package/README.md CHANGED
@@ -13,7 +13,7 @@ This is a shared component library. It should used in the HortiView platform and
13
13
  This library is based in Bayers element component library. To use it properly you need to install this package first.
14
14
  To get access to this restricted package please contact your Bayer contact person.
15
15
 
16
- After you gain access use `yarn add @element/react-components @element/themes` or `npm i @element/react-components @element/themes` to add the package to your solution.
16
+ After you gain access use `yarn add @element-public/react-components @element-public/themes` or `npm i @element-public/react-components @element-public/themes` to add the package to your solution.
17
17
 
18
18
  ## Remarks
19
19
 
@@ -33,11 +33,11 @@ Additionally the library provides form components using [react-hook-form](https:
33
33
  1. [Disclaimer](#disclaimer)
34
34
  1. [EmptyView](#emptyview)
35
35
  1. [Filter](#filter)
36
- 1. [FormattedNumberDisplay] (#formattednumberdisplay)
36
+ 1. [FormattedNumberDisplay](#formattednumberdisplay)
37
37
  1. [FormComponents](#formcomponents)
38
38
  1. [FormCheckBox](#formcheckbox)
39
39
  1. [FormDatePicker](#formdatepicker)
40
- 1. [FormNumber] (#formnumber)
40
+ 1. [FormNumber](#formnumber)
41
41
  1. [FormRadio](#formradio)
42
42
  1. [FormSelect](#formselect)
43
43
  1. [FormSlider](#formslider)
@@ -51,9 +51,11 @@ Additionally the library provides form components using [react-hook-form](https:
51
51
  1. [ListArea](#listarea)
52
52
  1. [LoadingSpinner](#loadingspinner)
53
53
  1. [Modal](#modal)
54
+ 1. [ModulePadding](#modulepadding)
54
55
  1. [OverflowTooltip](#overflowtooltip)
55
56
  1. [ScrollBar](#scrollbar)
56
57
  1. [SearchBar](#searchbar)
58
+ 1. [Select](#select)
57
59
  1. [VerticalDivider](#verticaldivider)
58
60
 
59
61
  ## Available Utility Functions:
@@ -311,7 +313,7 @@ const TypoDisplay3 = (props: { children: React.ReactNode }) => {
311
313
  return <TypoDisplay level={3}>{props.children}</TypoDisplay>;
312
314
  };
313
315
 
314
- <FormattedNumberDisplay typographyComponent={TypoDisplay3} languageCode="en-MX" value={12345.67} />;
316
+ <FormattedNumberDisplay typographyComponent={TypoDisplay3} languageCode='en-MX' value={12345.67} />;
315
317
  ```
316
318
 
317
319
  ### FormComponents
@@ -439,7 +441,9 @@ const { handleSubmit } = formMethods;
439
441
 
440
442
  #### FormSelect
441
443
 
442
- Provides a select form component
444
+ Provides a select form component.
445
+
446
+ > **Warning**: Don't set `menuPosition` when `hoisted` is true.
443
447
 
444
448
  ```jsx
445
449
  import { FormSelect } from '@hortiview/shared-components';
@@ -843,7 +847,7 @@ return <>
843
847
 
844
848
  ### Modal
845
849
 
846
- Provides the normal elements modal with one additional change. If you are on fullscreen modal size the max-height and max-width is set to 100svh/svw (Smallest ViewPort height/width).
850
+ Provides the normal Element modal with one additional change. If you are on fullscreen modal size the max-height and max-width is set to 100svh/svw (Smallest ViewPort height/width).
847
851
  This will set the modal size on an area between the mobile controls.
848
852
 
849
853
  ```jsx
@@ -854,13 +858,29 @@ import { Modal } from '@hortiview/shared-components';
854
858
  </Modal>;
855
859
  ```
856
860
 
861
+ ### ModulePadding
862
+
863
+ Provides a responsive padding component for modules according to the HV platform UI guidelines, based on the Bayer Element padding component.
864
+
865
+ Currently, the padding is set to 8px on mobile/tablet and 16px on desktop.
866
+
867
+ > **Strong recommendation**: If your module does not require any fullscreen features, we highly encourage you to add the `ModulePadding` around your module content to ensure a consistent user experience within the rest of the platform.
868
+
869
+ ```jsx
870
+ import { ModulePadding } from '@hortiview/shared-components';
871
+
872
+ <ModulePadding>
873
+ <div>Content</div>
874
+ </ModulePadding>;
875
+ ```
876
+
857
877
  ### OverflowTooltip
858
878
 
859
879
  Provides a tooltip and overflow behavior of a given text value.
860
880
 
861
881
  ```jsx
862
882
  import { OverflowTooltip } from '@hortiview/shared-components';
863
- import { TypoBody } from '@element/react-components';
883
+ import { TypoBody } from '@element-public/react-components';
864
884
 
865
885
  const longText =
866
886
  'This is a very long text that needs to be truncated and shown with a tooltip when it overflows.';
@@ -904,6 +924,34 @@ const [searchValue, setSearchValue] = useState('');
904
924
  />;
905
925
  ```
906
926
 
927
+ ### Select
928
+
929
+ Provides the normal Element select with some additional presets and props:
930
+
931
+ - `menuMaxHeight` has a default value of `15rem` (can be overwritten)
932
+ - custom styles are applied that improve the `hoisted` select menu behavior and avoid two scrolling bars on multi select menus
933
+ - custom portal styles can be passed via the `portalClassName` prop - only works when `portalContainer` is not set
934
+
935
+ > **Warning**: Don't set `menuPosition` when `hoisted` is true.
936
+
937
+ ```jsx
938
+ import { Select } from '@hortiview/shared-components';
939
+ ...
940
+
941
+ <Select
942
+ label='Contact during review'
943
+ options={contacts}
944
+ hoisted
945
+ textKey='text'
946
+ valueKey='id'
947
+ onChange={handleContactSelect}
948
+ value={contact}
949
+ helperText='required'
950
+ variant='outlined'
951
+ portalClassName={styles.portal}
952
+ />;
953
+ ```
954
+
907
955
  ### VerticalDivider
908
956
 
909
957
  Provides a simple vertical divider.
@@ -975,5 +1023,7 @@ Note: Should only be used for displaying numbers, not for calculations or values
975
1023
  ```typescript
976
1024
  const userLocale = 'es-MX';
977
1025
 
978
- const overlineTitle = `${getNumberAsLocaleString(userLocale, totalArea, 5)} ${t('squaremeter-unit')}`;
1026
+ const overlineTitle = `${getNumberAsLocaleString(userLocale, totalArea, 5)} ${t(
1027
+ 'squaremeter-unit'
1028
+ )}`;
979
1029
  ```
@@ -0,0 +1,16 @@
1
+ import { jsx as i, jsxs as n } from "react/jsx-runtime";
2
+ import { b as r } from "./index.es-CF_xy2ns.js";
3
+ import { Iconify as d } from "./components/Iconify/Iconify.js";
4
+ import './assets/BigLoadingSpinner.css';const e = "_loadingBigOverlay_7dxo1_1", s = "_bigLoadSpinnerCard_7dxo1_12", g = "_bigLoadSpinnerCardText_7dxo1_27", t = "_logo_7dxo1_33", o = {
5
+ loadingBigOverlay: e,
6
+ bigLoadSpinnerCard: s,
7
+ bigLoadSpinnerCardText: g,
8
+ logo: t
9
+ }, l = ({ text: a }) => /* @__PURE__ */ n("div", { className: o.bigLoadSpinnerCard, role: "progressbar", "data-testid": "loading-spinner", children: [
10
+ /* @__PURE__ */ i(d, { icon: "hortiview", className: o.logo, "data-testid": "logo-icon" }),
11
+ /* @__PURE__ */ i(r, { tag: "p", bold: !0, level: 1, className: o.bigLoadSpinnerCardText, children: a })
12
+ ] }), b = (a) => /* @__PURE__ */ i("div", { className: o.loadingBigOverlay, children: /* @__PURE__ */ i(l, { ...a }) });
13
+ export {
14
+ b as B,
15
+ o as s
16
+ };
@@ -0,0 +1,350 @@
1
+ import { jsx as n, jsxs as C, Fragment as B } from "react/jsx-runtime";
2
+ import { C as W, a as z, b as D, c as E, d as M } from "./index.es-6TJ1S8Jr.js";
3
+ import { c as x, _ as P, P as e } from "./identity-DLWZln-X.js";
4
+ import b, { forwardRef as $, useMemo as f, useRef as j, useImperativeHandle as q, createContext as F, useContext as I } from "react";
5
+ import { d as U } from "./index.es-da0cf7oE.js";
6
+ import { d as O } from "./index.es-CF_xy2ns.js";
7
+ import { OverflowTooltip as k } from "./components/OverflowTooltip/OverflowTooltip.js";
8
+ import './assets/GenericCard.css';const R = /* @__PURE__ */ F({}), V = {
9
+ /**
10
+ * @deprecated _Use `variant`='airy' instead._
11
+ *
12
+ * Applies extra padding to each column.
13
+ *
14
+ * Defaults to **undefined**.
15
+ */
16
+ airy: U(e.bool, "Grid", 'Use `variant`="airy" instead.'),
17
+ /**
18
+ * Accepts GridCol or GridRow.
19
+ *
20
+ * Defaults to **null**.
21
+ */
22
+ children: e.node.isRequired,
23
+ /**
24
+ * The css class name to be passed through to the component markup.
25
+ *
26
+ * Defaults to **undefined**.
27
+ */
28
+ className: e.string,
29
+ /**
30
+ * Sets the column gap for the grid.
31
+ *
32
+ * Defaults to **'16px'**.
33
+ */
34
+ columnGap: e.oneOfType([e.string, e.number]),
35
+ /**
36
+ * Applies 100% height to the grid and direct children rows. Useful when creating a page layout. Be aware all direct children rows will have a 100% height.
37
+ *
38
+ * Defaults to **null**.
39
+ */
40
+ fullHeight: e.bool,
41
+ /**
42
+ * Applies 100% width to the grid and direct children rows. Useful to maintain full width in a flex container.
43
+ *
44
+ * Defaults to **null**.
45
+ */
46
+ fullWidth: e.bool,
47
+ /**
48
+ * Alignment of entire grid: left and right.
49
+ *
50
+ * Defaults to **'center'**.
51
+ */
52
+ gridAlign: e.oneOf(["center", "left", "right"]),
53
+ /**
54
+ * Sets the row gap for the grid.
55
+ *
56
+ * Defaults to **'16px'**.
57
+ */
58
+ rowGap: e.oneOfType([e.string, e.number]),
59
+ /**
60
+ * Styles for the grid.
61
+ *
62
+ * Defaults to **undefined**.
63
+ */
64
+ style: e.object,
65
+ /**
66
+ * If true the grid will have a max width according to your theme's breakpoints.
67
+ *
68
+ * Defaults to **false**.
69
+ */
70
+ useMaxWidth: e.bool,
71
+ /**
72
+ * Select `airy` or `standard` padding.
73
+ *
74
+ * Defaults to **'standard'**.
75
+ */
76
+ variant: e.oneOf(["standard", "airy", "none"])
77
+ }, J = {
78
+ airy: void 0,
79
+ children: null,
80
+ className: void 0,
81
+ columnGap: "16px",
82
+ fullHeight: null,
83
+ fullWidth: null,
84
+ gridAlign: "center",
85
+ rowGap: "16px",
86
+ style: void 0,
87
+ useMaxWidth: !1,
88
+ variant: "standard"
89
+ }, K = {
90
+ /**
91
+ * Alignment of cell within the row: top, middle, bottom. If omitted the col will stretch to the height of the row.
92
+ *
93
+ * Defaults to **undefined**.
94
+ */
95
+ align: e.oneOf(["", "top", "middle", "bottom"]),
96
+ /**
97
+ * Content to be rendered inside the GridCol. Accepts any valid markup.
98
+ *
99
+ * Defaults to **null**.
100
+ */
101
+ children: e.node,
102
+ /**
103
+ * The css class name to be passed through to the component markup.
104
+ *
105
+ * Defaults to **undefined**.
106
+ */
107
+ className: e.string,
108
+ /**
109
+ * Specifies the number of columns the cell spans.
110
+ *
111
+ * Defaults to **null**.
112
+ */
113
+ desktopCol: e.number,
114
+ /**
115
+ * Specifies a grid item's start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. Set to any valid `grid-column-start`.
116
+ *
117
+ * Defaults to **null**.
118
+ */
119
+ gridColStart: e.oneOfType([e.string, e.number]),
120
+ /**
121
+ * Horizontal alignment of the cell contents of cell content: top, middle, bottom.
122
+ *
123
+ * Defaults to **'left'**.
124
+ */
125
+ horizontalAlign: e.oneOf(["left", "center", "right"]),
126
+ /**
127
+ * Specifies the order of the cell.
128
+ *
129
+ * Defaults to **null**.
130
+ */
131
+ order: e.number,
132
+ /**
133
+ * Specifies the number of columns the cell spans on a phone.
134
+ *
135
+ * Defaults to **null**.
136
+ */
137
+ phoneCol: e.number,
138
+ /**
139
+ * Specifies the number of columns the cell spans on a tablet.
140
+ *
141
+ * Defaults to **null**.
142
+ */
143
+ tabletCol: e.number,
144
+ /**
145
+ * Vertical alignment of cell content: top, middle, bottom.
146
+ *
147
+ * Defaults to **'top'**.
148
+ */
149
+ verticalAlign: e.oneOf(["top", "middle", "bottom"])
150
+ }, L = {
151
+ align: void 0,
152
+ children: null,
153
+ className: void 0,
154
+ desktopCol: null,
155
+ gridColStart: null,
156
+ horizontalAlign: "left",
157
+ order: null,
158
+ phoneCol: null,
159
+ tabletCol: null,
160
+ verticalAlign: "top"
161
+ }, Q = {
162
+ /**
163
+ * Content to be rendered inside the GridRow. Accepts any valid markup.
164
+ *
165
+ * Defaults to **null**.
166
+ */
167
+ children: e.node.isRequired,
168
+ /**
169
+ * The css class name to be passed through to the component markup.
170
+ *
171
+ * Defaults to **undefined**.
172
+ */
173
+ className: e.string
174
+ }, X = {
175
+ children: null,
176
+ className: void 0
177
+ }, T = /* @__PURE__ */ $((l, t) => {
178
+ const {
179
+ airy: a,
180
+ children: o,
181
+ className: d,
182
+ columnGap: i,
183
+ fullHeight: r,
184
+ fullWidth: s,
185
+ gridAlign: u,
186
+ rowGap: m,
187
+ style: c,
188
+ useMaxWidth: g,
189
+ variant: y,
190
+ ...w
191
+ } = l, h = a ? "airy" : y, G = f(() => ({
192
+ fullHeight: r,
193
+ rowGap: m,
194
+ columnGap: i
195
+ }), [i, r, m]), A = j();
196
+ q(t, () => A.current, []);
197
+ const S = f(() => x("lmnt", "mdc-layout-grid", "lmnt-layout-grid", `mdc-layout-grid mdc-layout-grid--align-${u}`, (h === "airy" || a) && "mdc-grid-cell-wrapper-airy-tablet mdc-grid-cell-wrapper-airy-desktop", y === "none" && "mdc-grid-cell-wrapper-none-tablet mdc-grid-cell-wrapper-none-desktop mdc-grid-cell-wrapper-none-phone ", s && "lmnt-layout-grid--full-width", r && "lmnt-layout-grid--full-height", g && "lmnt-layout-grid--with-max-width", d), [a, d, h, r, s, u, g, y]);
198
+ return /* @__PURE__ */ b.createElement(R.Provider, {
199
+ value: G
200
+ }, /* @__PURE__ */ b.createElement("div", P({
201
+ ref: A,
202
+ className: S
203
+ }, w), o));
204
+ });
205
+ T.displayName = "Grid";
206
+ T.propTypes = V;
207
+ T.defaultProps = J;
208
+ const _ = /* @__PURE__ */ $((l, t) => {
209
+ const {
210
+ align: a,
211
+ children: o,
212
+ className: d,
213
+ columns: i,
214
+ desktopCol: r,
215
+ gridColStart: s,
216
+ horizontalAlign: u,
217
+ order: m,
218
+ phoneCol: c,
219
+ style: g,
220
+ tabletCol: y,
221
+ verticalAlign: w,
222
+ ...h
223
+ } = l, G = f(() => ({
224
+ ...g,
225
+ gridColumnStart: s
226
+ }), [s, g]);
227
+ return /* @__PURE__ */ b.createElement("div", P({
228
+ ref: t,
229
+ style: G,
230
+ className: x("lmnt", `lmnt-layout-grid__cell--vertical-align-${w}`, `lmnt-layout-grid__cell--horizontal-align-${u}`, "mdc-layout-grid__cell", !i && !c && !y && !r && ["mdc-layout-grid__cell"], m && `mdc-layout-grid__cell--order-${m}`, a && `mdc-layout-grid__cell--align-${a}`, i && [`mdc-layout-grid__cell--span-${i}`], c && [`mdc-layout-grid__cell--span-${c}-phone`], y && [`mdc-layout-grid__cell--span-${y}-tablet`], r && [`mdc-layout-grid__cell--span-${r}-desktop`], "lmnt-layout-grid__cell", d)
231
+ }, h), o);
232
+ });
233
+ _.displayName = "GridCol";
234
+ _.propTypes = K;
235
+ _.defaultProps = L;
236
+ const v = /* @__PURE__ */ $((l, t) => {
237
+ const {
238
+ children: a,
239
+ className: o,
240
+ style: d,
241
+ ...i
242
+ } = l, {
243
+ fullHeight: r,
244
+ rowGap: s,
245
+ columnGap: u
246
+ } = I(R), m = f(() => {
247
+ let c = {
248
+ rowGap: s,
249
+ columnGap: u
250
+ };
251
+ return r && (c = {
252
+ ...c,
253
+ height: "100%"
254
+ }), {
255
+ ...d,
256
+ ...c
257
+ };
258
+ }, [d, r, s, u]);
259
+ return /* @__PURE__ */ b.createElement("div", P({
260
+ ref: t,
261
+ className: x("lmnt", "mdc-layout-grid__inner", "lmnt-layout-grid__inner", o),
262
+ style: m
263
+ }, i), a);
264
+ });
265
+ v.displayName = "GridRow";
266
+ v.propTypes = Q;
267
+ v.defaultProps = X;
268
+ const Y = "_cardTitle_ny9m0_1", Z = "_cardBody_ny9m0_5", ee = "_cardContent_ny9m0_10", te = "_row_ny9m0_14", re = "_font_ny9m0_18", le = "_fontHeader_ny9m0_23", ae = "_title_ny9m0_27", ne = "_emptyContainer_ny9m0_33", oe = "_empty_ny9m0_33", p = {
269
+ cardTitle: Y,
270
+ cardBody: Z,
271
+ cardContent: ee,
272
+ row: te,
273
+ font: re,
274
+ fontHeader: le,
275
+ title: ae,
276
+ emptyContainer: ne,
277
+ empty: oe
278
+ }, H = {
279
+ desktopCol: 6,
280
+ phoneCol: 2,
281
+ tabletCol: 4,
282
+ verticalAlign: "bottom"
283
+ }, ge = ({ item: l, columns: t, hiddenColumns: a }) => {
284
+ const o = t.find((r) => r.asCardTitle), d = t.find((r) => r.asCardSubtitle), i = f(
285
+ () => t.filter(
286
+ (r) => !r.asCardTitle && !r.asCardSubtitle && r.id !== "actions"
287
+ ),
288
+ [t]
289
+ );
290
+ return /* @__PURE__ */ n(
291
+ W,
292
+ {
293
+ variant: "raised",
294
+ "data-testid": `card${o ? "-" + l[o.accessor] : ""}`,
295
+ children: /* @__PURE__ */ C(z, { className: p.cardContent, "data-testid": "card-content", children: [
296
+ /* @__PURE__ */ n(ie, { item: l, titleColumn: o, subTitleColumn: d }),
297
+ /* @__PURE__ */ n(D, { className: p.cardBody, "data-testid": "card-body", children: /* @__PURE__ */ n(T, { fullHeight: !0, fullWidth: !0, variant: "none", children: i.map((r) => a?.includes(r.id) ? null : /* @__PURE__ */ C(v, { className: p.row, "data-testid": "row", children: [
298
+ /* @__PURE__ */ n(_, { horizontalAlign: "right", ...H, children: /* @__PURE__ */ C(
299
+ O,
300
+ {
301
+ level: 2,
302
+ themeColor: "text-secondary-on-background",
303
+ className: `${p.font} ${p.fontHeader}`,
304
+ tag: "div",
305
+ children: [
306
+ r.header,
307
+ ":"
308
+ ]
309
+ }
310
+ ) }),
311
+ /* @__PURE__ */ n(_, { horizontalAlign: "left", ...H, children: /* @__PURE__ */ n(N, { column: r, item: l }) })
312
+ ] }, r.id)) }) })
313
+ ] })
314
+ }
315
+ );
316
+ }, ie = ({ item: l, titleColumn: t, subTitleColumn: a }) => {
317
+ const o = l.actions;
318
+ return !t && !a && !o ? null : /* @__PURE__ */ C(B, { children: [
319
+ /* @__PURE__ */ n(
320
+ E,
321
+ {
322
+ "data-testid": "card-title",
323
+ className: p.cardTitle,
324
+ primaryText: t !== void 0 && /* @__PURE__ */ n(N, { column: t, item: l, isTitle: !0 }),
325
+ secondaryText: a !== void 0 && /* @__PURE__ */ n(N, { column: a, item: l, isTitle: !0 }),
326
+ trailingBlock: o,
327
+ trailingBlockType: "title-actions"
328
+ }
329
+ ),
330
+ /* @__PURE__ */ n(M, {})
331
+ ] });
332
+ }, N = ({ item: l, column: t, isTitle: a = !1 }) => t.cellTemplate ? t.cellTemplate({ row: { original: l } }) : a ? /* @__PURE__ */ n(
333
+ k,
334
+ {
335
+ id: `tip_${t.id}_${l[t.accessor]}`,
336
+ text: l[t.accessor],
337
+ children: /* @__PURE__ */ n("span", { className: p.title, children: l[t.accessor] })
338
+ }
339
+ ) : /* @__PURE__ */ n(
340
+ k,
341
+ {
342
+ id: `tip_${t.id}_${l[t.accessor]}`,
343
+ text: l[t.accessor],
344
+ children: /* @__PURE__ */ n(O, { level: 2, themeColor: "text-primary-on-background", className: p.font, children: l[t.accessor] })
345
+ }
346
+ );
347
+ export {
348
+ ge as G,
349
+ p as s
350
+ };
@@ -0,0 +1,109 @@
1
+ import { jsx as r, jsxs as z } from "react/jsx-runtime";
2
+ import { G as b } from "./index.es-DntoATwO.js";
3
+ import { I as B } from "./index.es-3043KTnb.js";
4
+ import { c as C, d as N, b as O } from "./index.es-CF_xy2ns.js";
5
+ import { Iconify as $ } from "./components/Iconify/Iconify.js";
6
+ import { AvailableCustomIcons as k } from "./enums/AvailableCustomIcons.js";
7
+ import './assets/ListAreaService.css';const E = "_fullWidth_zewqs_1", j = "_mainElevation_zewqs_5", G = "_searchbar_zewqs_11", W = "_roundedBottom_zewqs_19", L = "_primaryText_zewqs_24", S = "_list_zewqs_28", A = "_listItem_zewqs_56", P = "_iconColor_zewqs_76", D = "_overlineTitle_zewqs_80", F = "_noOverlineTitle_zewqs_85", H = "_truncate_zewqs_89", J = "_truncateOverlineText_zewqs_100", n = {
8
+ fullWidth: E,
9
+ mainElevation: j,
10
+ searchbar: G,
11
+ roundedBottom: W,
12
+ primaryText: L,
13
+ list: S,
14
+ listItem: A,
15
+ iconColor: P,
16
+ overlineTitle: D,
17
+ noOverlineTitle: F,
18
+ truncate: H,
19
+ truncateOverlineText: J
20
+ }, Z = (t, s, a, l) => {
21
+ const i = t.reduce((o, c) => {
22
+ const { groupName: e, ...m } = c;
23
+ return !e || typeof e != "string" || (o[e] || (o[e] = {
24
+ groupName: /* @__PURE__ */ r(C, { children: e }),
25
+ id: e,
26
+ items: []
27
+ }), o[e].items = [
28
+ ...o[e].items,
29
+ y(m, s, a, l)
30
+ ]), o;
31
+ }, {});
32
+ return Object.values(i);
33
+ }, ee = (t, s, a, l) => t.map((i) => y(i, s, a, l)), y = (t, s, a, l) => {
34
+ const {
35
+ id: i,
36
+ title: o,
37
+ subTitle: c,
38
+ route: e,
39
+ value: m,
40
+ noNavigation: v,
41
+ disabled: d,
42
+ icon: g,
43
+ iconType: p,
44
+ trailingIcon: f,
45
+ trailingIconType: h,
46
+ actionButton: I,
47
+ onClick: w,
48
+ customTitle: T,
49
+ listItemClassName: x,
50
+ overlineTitle: _
51
+ } = t, u = s === e;
52
+ return {
53
+ id: i,
54
+ key: i,
55
+ select: u,
56
+ primaryText: i,
57
+ secondaryText: /* @__PURE__ */ z(b, { direction: "vertical", gap: "none", children: [
58
+ T ?? /* @__PURE__ */ r(
59
+ N,
60
+ {
61
+ "data-testid": "title",
62
+ level: 1,
63
+ themeColor: u ? "primary" : void 0,
64
+ className: `${n.truncate} lmnt-theme-on-surface-active`,
65
+ children: o
66
+ }
67
+ ),
68
+ c && !T ? /* @__PURE__ */ r(
69
+ O,
70
+ {
71
+ "data-testid": "subtitle",
72
+ level: 2,
73
+ themeColor: u ? "primary" : void 0,
74
+ className: `${n.truncate} lmnt-theme-on-surface-inactive`,
75
+ children: c
76
+ }
77
+ ) : void 0
78
+ ] }),
79
+ overlineText: _ ? /* @__PURE__ */ r(
80
+ "span",
81
+ {
82
+ "data-testid": "overline-title",
83
+ className: `${n.truncate} ${n.truncateOverlineText}`,
84
+ children: _
85
+ }
86
+ ) : void 0,
87
+ trailingBlock: I ?? f ?? /* @__PURE__ */ r(B, { icon: "arrow_right", className: n.iconColor }),
88
+ leadingBlock: K(g),
89
+ value: m,
90
+ componentProps: {
91
+ id: i,
92
+ "data-testid": `${o}-list-item`,
93
+ key: i,
94
+ leadingBlockType: p ?? "icon",
95
+ trailingBlockType: h ?? "icon",
96
+ className: `${p === "avatar" ? "" : n.listItem} ${a} ${x ?? ""} ${_ ? n.overlineTitle : n.noOverlineTitle}`,
97
+ onClick: (M, q) => w?.(q),
98
+ tag: d || v ? void 0 : l ?? "a",
99
+ to: d || v ? void 0 : e,
100
+ disabled: d
101
+ }
102
+ };
103
+ }, K = (t) => typeof t == "string" && t in k ? /* @__PURE__ */ r($, { icon: t }) : t;
104
+ export {
105
+ ee as a,
106
+ Z as g,
107
+ y as m,
108
+ n as s
109
+ };