@geotab/zenith 3.9.1 → 3.10.0-beta.0

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 (222) hide show
  1. package/README.md +11 -0
  2. package/dist/alertRaw/alertRaw.js +4 -4
  3. package/dist/alertRaw/components/alertAnimation.js +2 -2
  4. package/dist/banner/bannerMultipLine.js +4 -4
  5. package/dist/banner/bannerSingleLine.js +4 -4
  6. package/dist/bookmark/bookmark.d.ts +2 -1
  7. package/dist/bookmark/bookmark.js +4 -2
  8. package/dist/card/components/cardButton/cardButton.d.ts +2 -1
  9. package/dist/card/components/cardButton/cardButton.js +3 -3
  10. package/dist/commonStyles/rangeFieldMixin.less +9 -9
  11. package/dist/dataFeed/hooks/useVisibleColumns.js +1 -1
  12. package/dist/dataGrid/extensions/toBasicColumn.js +2 -1
  13. package/dist/dataGrid/listColumn.d.ts +1 -0
  14. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +2 -2
  15. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +5 -5
  16. package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +15 -6
  17. package/dist/dialog/dialogContent.js +4 -4
  18. package/dist/dropdownRaw/dropdownHelper.d.ts +4 -1
  19. package/dist/dropdownRaw/dropdownHelper.js +2 -1
  20. package/dist/dropdownRaw/dropdownRaw.js +2 -2
  21. package/dist/dropdownRaw/dropdownTrigger.d.ts +1 -1
  22. package/dist/dropdownRaw/dropdownTrigger.js +1 -1
  23. package/dist/fileUpload/components/uploadedFilesSection.js +3 -3
  24. package/dist/filters/components/filtersSavedChipComponent.js +3 -3
  25. package/dist/filters/components/filtersSearchItemData.js +3 -3
  26. package/dist/filters/components/filtersSidePanel.js +4 -4
  27. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +4 -4
  28. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +13 -13
  29. package/dist/groupsFilterRaw/groupsFilterInitialState.js +1 -1
  30. package/dist/icons/iconAlignLeft.js +3 -1
  31. package/dist/icons/iconAlignmentLeft.js +3 -1
  32. package/dist/icons/iconAlignmentRight.js +3 -1
  33. package/dist/icons/iconArrowBottomLeft.js +3 -1
  34. package/dist/icons/iconArrowBottomRight.js +3 -1
  35. package/dist/icons/iconArrowLeftPath.js +3 -1
  36. package/dist/icons/iconArrowRight.js +3 -1
  37. package/dist/icons/iconArrowRightCircle.js +3 -1
  38. package/dist/icons/iconArrowRightPath.js +3 -1
  39. package/dist/icons/iconArrowTopLeft.js +3 -1
  40. package/dist/icons/iconArrowTopRight.js +3 -1
  41. package/dist/icons/iconChevronDoubleRight.js +3 -1
  42. package/dist/icons/iconChevronRight.js +3 -1
  43. package/dist/icons/iconChevronRightSmall.js +3 -1
  44. package/dist/icons/iconCornerDownLeft.js +3 -1
  45. package/dist/icons/iconCornerDownRight.js +3 -1
  46. package/dist/icons/iconCornerLeftDown.js +3 -1
  47. package/dist/icons/iconCornerLeftUp.js +3 -1
  48. package/dist/icons/iconCornerRightDown.js +3 -1
  49. package/dist/icons/iconCornerRightUp.js +3 -1
  50. package/dist/icons/iconCornerUpLeft.js +3 -1
  51. package/dist/icons/iconCornerUpRight.js +3 -1
  52. package/dist/icons/iconLayoutSidebar.js +3 -1
  53. package/dist/icons/iconPinFilled.d.ts +3 -0
  54. package/dist/icons/iconPinFilled.js +12 -0
  55. package/dist/icons/iconSidebar.js +3 -1
  56. package/dist/icons/iconUndock.js +3 -1
  57. package/dist/index.css +539 -493
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.js +8 -6
  60. package/dist/list/listItem/listItem.d.ts +3 -1
  61. package/dist/list/listItem/listItem.js +4 -2
  62. package/dist/mobileSheet/mobileSheet.js +4 -4
  63. package/dist/modal/modal.js +4 -4
  64. package/dist/nav/nav.d.ts +7 -1
  65. package/dist/nav/nav.js +11 -6
  66. package/dist/nav/navEmpty/navEmpty.d.ts +10 -0
  67. package/dist/nav/navEmpty/navEmpty.js +7 -0
  68. package/dist/notification/notification.js +4 -4
  69. package/dist/notification/pushNotification/pushNotification.js +1 -1
  70. package/dist/pill/components/pillNonActionable/pillNonActionable.js +4 -4
  71. package/dist/pillExpandable/pillExpandable.js +4 -4
  72. package/dist/table/detailPanel/detailPanelHeader.js +4 -4
  73. package/dist/table/flexible/columnsList.d.ts +1 -2
  74. package/dist/table/flexible/columnsList.js +6 -5
  75. package/dist/table/flexible/columnsPopup.js +0 -3
  76. package/dist/table/flexible/useFlexibleColumns.d.ts +1 -0
  77. package/dist/table/flexible/useFlexibleColumns.js +4 -3
  78. package/dist/table/loading/useLoading.d.ts +1 -0
  79. package/dist/table/loading/useLoading.js +1 -1
  80. package/dist/table/nested/useNestedRows.d.ts +1 -0
  81. package/dist/table/selectable/useSelectableRows.js +23 -5
  82. package/dist/table/table.d.ts +1 -0
  83. package/dist/table/table.js +7 -2
  84. package/dist/tabs/tabItem/tabItem.d.ts +2 -1
  85. package/dist/tabs/tabItem/tabItem.js +4 -2
  86. package/dist/tabs/tabs.d.ts +1 -0
  87. package/dist/tabs/tabs.js +2 -1
  88. package/dist/toastRaw/components/toastAnimation.js +2 -2
  89. package/dist/toastRaw/toastRaw.js +4 -4
  90. package/dist/toggleButtonRaw/toggleButtonRaw.js +13 -13
  91. package/dist/tooltip/tooltip.js +4 -4
  92. package/dist/utils/localization/flipAlignment.d.ts +2 -0
  93. package/dist/utils/localization/flipAlignment.js +19 -0
  94. package/dist/utils/localization/makeLanguageWrapper.d.ts +8 -0
  95. package/dist/utils/localization/makeLanguageWrapper.js +11 -0
  96. package/dist/utils/localization/translations/cs.json +2 -2
  97. package/dist/utils/localization/translations/da-DK.json +2 -2
  98. package/dist/utils/localization/translations/es.json +2 -2
  99. package/dist/utils/localization/translations/fi-FI.json +1 -1
  100. package/dist/utils/localization/translations/hu-HU.json +2 -2
  101. package/dist/utils/localization/translations/ko-KR.json +2 -2
  102. package/dist/utils/localization/translations/ms.json +1 -1
  103. package/dist/utils/localization/translations/nb-NO.json +1 -1
  104. package/dist/utils/localization/translations/pt-BR.json +2 -2
  105. package/dist/utils/localization/translations/pt-PT.json +3 -3
  106. package/dist/utils/localization/translations/ro-RO.json +5 -5
  107. package/dist/utils/localization/translations/sk-SK.json +1 -1
  108. package/dist/utils/localization/translations/zh-Hans.json +1 -1
  109. package/dist/utils/localization/useIsRTL.d.ts +1 -0
  110. package/dist/utils/localization/useIsRTL.js +6 -0
  111. package/dist/utils/localization/useRTLAlignment.d.ts +2 -0
  112. package/dist/utils/localization/useRTLAlignment.js +10 -0
  113. package/esm/alertRaw/alertRaw.js +4 -4
  114. package/esm/alertRaw/components/alertAnimation.js +2 -2
  115. package/esm/banner/bannerMultipLine.js +4 -4
  116. package/esm/banner/bannerSingleLine.js +4 -4
  117. package/esm/bookmark/bookmark.d.ts +2 -1
  118. package/esm/bookmark/bookmark.js +4 -2
  119. package/esm/card/components/cardButton/cardButton.d.ts +2 -1
  120. package/esm/card/components/cardButton/cardButton.js +3 -3
  121. package/esm/dataFeed/hooks/useVisibleColumns.js +1 -1
  122. package/esm/dataGrid/extensions/toBasicColumn.js +2 -1
  123. package/esm/dataGrid/listColumn.d.ts +1 -0
  124. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +2 -2
  125. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.js +5 -5
  126. package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +15 -6
  127. package/esm/dialog/dialogContent.js +4 -4
  128. package/esm/dropdownRaw/dropdownHelper.d.ts +4 -1
  129. package/esm/dropdownRaw/dropdownHelper.js +2 -1
  130. package/esm/dropdownRaw/dropdownRaw.js +2 -2
  131. package/esm/dropdownRaw/dropdownTrigger.d.ts +1 -1
  132. package/esm/dropdownRaw/dropdownTrigger.js +1 -1
  133. package/esm/fileUpload/components/uploadedFilesSection.js +3 -3
  134. package/esm/filters/components/filtersSavedChipComponent.js +3 -3
  135. package/esm/filters/components/filtersSearchItemData.js +3 -3
  136. package/esm/filters/components/filtersSidePanel.js +4 -4
  137. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +4 -4
  138. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +13 -13
  139. package/esm/groupsFilterRaw/groupsFilterInitialState.js +1 -1
  140. package/esm/icons/iconAlignLeft.js +3 -1
  141. package/esm/icons/iconAlignmentLeft.js +3 -1
  142. package/esm/icons/iconAlignmentRight.js +3 -1
  143. package/esm/icons/iconArrowBottomLeft.js +3 -1
  144. package/esm/icons/iconArrowBottomRight.js +3 -1
  145. package/esm/icons/iconArrowLeftPath.js +3 -1
  146. package/esm/icons/iconArrowRight.js +3 -1
  147. package/esm/icons/iconArrowRightCircle.js +3 -1
  148. package/esm/icons/iconArrowRightPath.js +3 -1
  149. package/esm/icons/iconArrowTopLeft.js +3 -1
  150. package/esm/icons/iconArrowTopRight.js +3 -1
  151. package/esm/icons/iconChevronDoubleRight.js +3 -1
  152. package/esm/icons/iconChevronRight.js +3 -1
  153. package/esm/icons/iconChevronRightSmall.js +3 -1
  154. package/esm/icons/iconCornerDownLeft.js +3 -1
  155. package/esm/icons/iconCornerDownRight.js +3 -1
  156. package/esm/icons/iconCornerLeftDown.js +3 -1
  157. package/esm/icons/iconCornerLeftUp.js +3 -1
  158. package/esm/icons/iconCornerRightDown.js +3 -1
  159. package/esm/icons/iconCornerRightUp.js +3 -1
  160. package/esm/icons/iconCornerUpLeft.js +3 -1
  161. package/esm/icons/iconCornerUpRight.js +3 -1
  162. package/esm/icons/iconLayoutSidebar.js +3 -1
  163. package/esm/icons/iconPinFilled.d.ts +3 -0
  164. package/esm/icons/iconPinFilled.js +8 -0
  165. package/esm/icons/iconSidebar.js +3 -1
  166. package/esm/icons/iconUndock.js +3 -1
  167. package/esm/index.d.ts +1 -0
  168. package/esm/index.js +1 -0
  169. package/esm/list/listItem/listItem.d.ts +3 -1
  170. package/esm/list/listItem/listItem.js +4 -2
  171. package/esm/mobileSheet/mobileSheet.js +4 -4
  172. package/esm/modal/modal.js +4 -4
  173. package/esm/nav/nav.d.ts +7 -1
  174. package/esm/nav/nav.js +11 -6
  175. package/esm/nav/navEmpty/navEmpty.d.ts +10 -0
  176. package/esm/nav/navEmpty/navEmpty.js +3 -0
  177. package/esm/notification/notification.js +4 -4
  178. package/esm/notification/pushNotification/pushNotification.js +1 -1
  179. package/esm/pill/components/pillNonActionable/pillNonActionable.js +4 -4
  180. package/esm/pillExpandable/pillExpandable.js +4 -4
  181. package/esm/table/detailPanel/detailPanelHeader.js +4 -4
  182. package/esm/table/flexible/columnsList.d.ts +1 -2
  183. package/esm/table/flexible/columnsList.js +6 -5
  184. package/esm/table/flexible/columnsPopup.js +0 -3
  185. package/esm/table/flexible/useFlexibleColumns.d.ts +1 -0
  186. package/esm/table/flexible/useFlexibleColumns.js +4 -3
  187. package/esm/table/loading/useLoading.d.ts +1 -0
  188. package/esm/table/loading/useLoading.js +1 -1
  189. package/esm/table/nested/useNestedRows.d.ts +1 -0
  190. package/esm/table/selectable/useSelectableRows.js +23 -5
  191. package/esm/table/table.d.ts +1 -0
  192. package/esm/table/table.js +7 -2
  193. package/esm/tabs/tabItem/tabItem.d.ts +2 -1
  194. package/esm/tabs/tabItem/tabItem.js +4 -2
  195. package/esm/tabs/tabs.d.ts +1 -0
  196. package/esm/tabs/tabs.js +2 -1
  197. package/esm/toastRaw/components/toastAnimation.js +2 -2
  198. package/esm/toastRaw/toastRaw.js +4 -4
  199. package/esm/toggleButtonRaw/toggleButtonRaw.js +13 -13
  200. package/esm/tooltip/tooltip.js +4 -4
  201. package/esm/utils/localization/flipAlignment.d.ts +2 -0
  202. package/esm/utils/localization/flipAlignment.js +15 -0
  203. package/esm/utils/localization/makeLanguageWrapper.d.ts +8 -0
  204. package/esm/utils/localization/makeLanguageWrapper.js +7 -0
  205. package/esm/utils/localization/translations/cs.json +2 -2
  206. package/esm/utils/localization/translations/da-DK.json +2 -2
  207. package/esm/utils/localization/translations/es.json +2 -2
  208. package/esm/utils/localization/translations/fi-FI.json +1 -1
  209. package/esm/utils/localization/translations/hu-HU.json +2 -2
  210. package/esm/utils/localization/translations/ko-KR.json +2 -2
  211. package/esm/utils/localization/translations/ms.json +1 -1
  212. package/esm/utils/localization/translations/nb-NO.json +1 -1
  213. package/esm/utils/localization/translations/pt-BR.json +2 -2
  214. package/esm/utils/localization/translations/pt-PT.json +3 -3
  215. package/esm/utils/localization/translations/ro-RO.json +5 -5
  216. package/esm/utils/localization/translations/sk-SK.json +1 -1
  217. package/esm/utils/localization/translations/zh-Hans.json +1 -1
  218. package/esm/utils/localization/useIsRTL.d.ts +1 -0
  219. package/esm/utils/localization/useIsRTL.js +2 -0
  220. package/esm/utils/localization/useRTLAlignment.d.ts +2 -0
  221. package/esm/utils/localization/useRTLAlignment.js +6 -0
  222. package/package.json +3 -1
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M21 12.87a1 1 0 01-.293.707l-6 6a1 1 0 11-1.414-1.415l4.293-4.292H4a1 1 0 110-2h13.586l-4.293-4.293a1 1 0 011.414-1.414l6 6a1 1 0 01.293.707z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowRightCircle = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowRightCircle", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M20 12.87a8 8 0 10-16 0 8 8 0 0016 0zm-8-10c5.523 0 10 4.477 10 10 0 5.522-4.477 10-10 10s-10-4.478-10-10c0-5.523 4.477-10 10-10zm1.707 6.293l3 3a1 1 0 010 1.414l-3 3a1 1 0 11-1.414-1.415l1.293-1.292H8a1 1 0 110-2h5.586l-1.293-1.293a1 1 0 011.414-1.414z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowRightPath = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowRightPath", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M13.587 4.959a1 1 0 011.072.158l8 7a1 1 0 010 1.505l-8 7A1 1 0 0113 19.87v-3H3a1 1 0 01-1-1v-6a1 1 0 011-1h10v-3a1 1 0 01.587-.911zM15 8.073V9.87a1 1 0 01-1 1H4v4h10a1 1 0 011 1v1.796l5.481-4.796L15 8.073z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowTopLeft = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowTopLeft", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6 16.87a1 1 0 01-1-1v-9a1 1 0 011-1h9a1 1 0 110 2H8.414l9.793 9.793a1 1 0 01-1.414 1.414L7 9.284v6.586a1 1 0 01-1 1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconArrowTopRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconArrowTopRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8 6.87a1 1 0 011-1h9a1 1 0 011 1v9a1 1 0 11-2 0V9.284l-9.793 9.793a1 1 0 11-1.414-1.415l9.793-9.792H9a1 1 0 01-1-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconChevronDoubleRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconChevronDoubleRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.293 8.163a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 11-1.414-1.415l3.293-3.292-3.293-3.293a1 1 0 010-1.414zm7 0a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 11-1.414-1.415l3.293-3.292-3.293-3.293a1 1 0 010-1.414z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconChevronRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconChevronRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.293 4.163a1 1 0 011.414 0l8 8a1 1 0 010 1.414l-8 8a1 1 0 11-1.414-1.415l7.293-7.292-7.293-7.293a1 1 0 010-1.414z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconChevronRightSmall = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconChevronRightSmall", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.293 8.163a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 11-1.414-1.415l3.293-3.292-3.293-3.293a1 1 0 010-1.414z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerDownLeft = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerDownLeft", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M20 4.87a1 1 0 00-1 1v9H6.414l2.293-2.293a1 1 0 10-1.414-1.415l-4 4a1 1 0 000 1.415l4 4a1 1 0 101.414-1.415L6.414 16.87H20a1 1 0 001-1v-10a1 1 0 00-1-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerDownRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerDownRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 4.87a1 1 0 011 1v9h12.586l-2.293-2.293a1 1 0 011.414-1.415l4 4a1 1 0 010 1.415l-4 4a1 1 0 11-1.414-1.415l2.293-2.292H4a1 1 0 01-1-1v-10a1 1 0 011-1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerLeftDown = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerLeftDown", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M21 4.87a1 1 0 01-1 1H9v12.585l2.293-2.292a1 1 0 011.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.415L7 18.456V4.87a1 1 0 011-1h12a1 1 0 011 1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerLeftUp = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerLeftUp", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.293 4.163a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L9 7.284V19.87h11a1 1 0 110 2H8a1 1 0 01-1-1V7.284L4.707 9.577a1 1 0 01-1.414-1.414l4-4z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerRightDown = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerRightDown", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3 4.87a1 1 0 001 1h11v12.585l-2.293-2.292a1 1 0 00-1.414 1.414l4 4a1 1 0 001.414 0l4-4a1 1 0 00-1.414-1.415L17 18.456V4.87a1 1 0 00-1-1H4a1 1 0 00-1 1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerRightUp = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerRightUp", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M15.293 4.163a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L17 7.284V20.87a1 1 0 01-1 1H4a1 1 0 110-2h11V7.284l-2.293 2.293a1 1 0 11-1.414-1.414l4-4z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerUpLeft = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerUpLeft", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", d: "M20 20a1 1 0 0 1-1-1v-9H6.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L6.414 8H20a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1", clipRule: "evenodd" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconCornerUpRight = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconCornerUpRight", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 20.87a1 1 0 001-1v-9h12.586l-2.293 2.293a1 1 0 001.414 1.414l4-4a1 1 0 000-1.414l-4-4a1 1 0 10-1.414 1.414l2.293 2.293H4a1 1 0 00-1 1v10a1 1 0 001 1z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconLayoutSidebar = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconLayoutSidebar", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3 4.87a1 1 0 011-1h16a1 1 0 011 1v16a1 1 0 01-1 1H10 4a1 1 0 01-1-1v-16zm8 15h8v-6h-8v6zm0-8h8v-6h-8v6zm-2-6v14H5v-14h4z" })] }));
8
10
  };
@@ -0,0 +1,3 @@
1
+ import "./icon.less";
2
+ import { IIcon } from "./icon";
3
+ export declare const IconPinFilled: ({ className, size, title, description, focusable }: IIcon) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId, useMemo } from "react";
3
+ import { classNames } from "../commonHelpers/classNames/classNames";
4
+ export const IconPinFilled = ({ className, size, title, description, focusable = false }) => {
5
+ const uniqueId = useId();
6
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconPinFilled", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.5 3C6.5 2.44772 6.94772 2 7.5 2H16.5C17.0523 2 17.5 2.44772 17.5 3V6.99695C17.5 8.65455 18.1585 10.2443 19.3306 11.4164L19.7071 11.7929C19.8946 11.9804 20 12.2348 20 12.5V15C20 15.5523 19.5523 16 19 16H13V21C13 21.5523 12.5523 22 12 22C11.4477 22 11 21.5523 11 21V16H5C4.44772 16 4 15.5523 4 15V12.5C4 12.2348 4.10536 11.9804 4.29289 11.7929L4.66942 11.4164C5.84152 10.2443 6.5 8.65455 6.5 6.99695V3Z" })] }));
8
+ };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconSidebar = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconSidebar", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M2 5.87a1 1 0 011-1h18a1 1 0 011 1v14a1 1 0 01-1 1H3a1 1 0 01-1-1v-14zm2 1v12h6v-12H4zm8 0v12h8v-12h-8z" }), _jsx("path", { d: "M7 10.37a.5.5 0 110-1 .5.5 0 010 1zM7 13.37a.5.5 0 110-1 .5.5 0 010 1zM7 16.37a.5.5 0 110-1 .5.5 0 010 1z" }), _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7 10.87a1 1 0 110-2 1 1 0 010 2zm0 3a1 1 0 110-2 1 1 0 010 2zm0 3a1 1 0 110-2 1 1 0 010 2zm0-6.5a.5.5 0 110-1 .5.5 0 010 1zm0 3a.5.5 0 110-1 .5.5 0 010 1zm-.5 2.5a.5.5 0 101 0 .5.5 0 00-1 0z" })] }));
8
10
  };
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { classNames } from "../commonHelpers/classNames/classNames";
4
+ import { useIsRTL } from "../utils/localization/useIsRTL";
4
5
  export const IconUndock = ({ className, size, title, description, focusable = false }) => {
5
6
  const uniqueId = useId();
6
- const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", className !== null && className !== void 0 ? className : ""]), [size, className]);
7
+ const isRTL = useIsRTL();
8
+ const classes = useMemo(() => classNames(["zen-icon", size ? `zen-icon--${size}` : "", isRTL ? "zen-icon--rtl" : "", className !== null && className !== void 0 ? className : ""]), [size, isRTL, className]);
7
9
  return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 25", focusable: focusable ? "true" : undefined, tabIndex: focusable ? 0 : undefined, role: focusable || title || description ? undefined : "presentation", className: classes, "aria-labelledby": title && focusable ? uniqueId : undefined, "data-name": "IconUndock", children: [title ? _jsx("title", { id: uniqueId, children: title }) : null, description ? _jsx("desc", { children: description }) : null, _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3.293 4.163A1 1 0 014 3.87h6a1 1 0 110 2H6.414l4.543 4.542a1 1 0 01-1.414 1.415L5 7.284v3.586a1 1 0 11-2 0v-6a1 1 0 01.293-.707zM13 7.87a1 1 0 011-1h7a1 1 0 011 1v14a1 1 0 01-1 1H7a1 1 0 01-1-1v-7a1 1 0 112 0v6h12v-12h-6a1 1 0 01-1-1z" })] }));
8
10
  };
package/esm/index.d.ts CHANGED
@@ -556,6 +556,7 @@ export { IconPhone } from "./icons/iconPhone";
556
556
  export { IconPhoneMobile } from "./icons/iconPhoneMobile";
557
557
  export { IconPin } from "./icons/iconPin";
558
558
  export { IconPin2 } from "./icons/iconPin2";
559
+ export { IconPinFilled } from "./icons/iconPinFilled";
559
560
  export { IconPinLocation } from "./icons/iconPinLocation";
560
561
  export { IconPinLocation2 } from "./icons/iconPinLocation2";
561
562
  export { IconPinLocation3 } from "./icons/iconPinLocation3";
package/esm/index.js CHANGED
@@ -545,6 +545,7 @@ export { IconPhone } from "./icons/iconPhone";
545
545
  export { IconPhoneMobile } from "./icons/iconPhoneMobile";
546
546
  export { IconPin } from "./icons/iconPin";
547
547
  export { IconPin2 } from "./icons/iconPin2";
548
+ export { IconPinFilled } from "./icons/iconPinFilled";
548
549
  export { IconPinLocation } from "./icons/iconPinLocation";
549
550
  export { IconPinLocation2 } from "./icons/iconPinLocation2";
550
551
  export { IconPinLocation3 } from "./icons/iconPinLocation3";
@@ -13,5 +13,7 @@ export interface IListItem extends IZenComponentProps {
13
13
  link?: string;
14
14
  target?: React.HTMLAttributeAnchorTarget;
15
15
  onDragStart?: (e: React.PointerEvent<HTMLElement>) => void;
16
+ wrap?: boolean;
17
+ vertical?: boolean;
16
18
  }
17
- export declare const ListItem: ({ id, className, image, name, secondary, status, actions, onClick, link, target, onDragStart }: IListItem) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const ListItem: ({ id, className, image, name, secondary, status, actions, onClick, link, target, onDragStart, wrap, vertical }: IListItem) => import("react/jsx-runtime").JSX.Element;
@@ -79,7 +79,9 @@ export const ListItem = ({
79
79
  onClick,
80
80
  link,
81
81
  target,
82
- onDragStart
82
+ onDragStart,
83
+ wrap,
84
+ vertical
83
85
  }) => {
84
86
  const isMobile = useMobile();
85
87
  const driveClassName = useDriveClassName("zen-list-item");
@@ -169,7 +171,7 @@ export const ListItem = ({
169
171
  const clickableClassName = useMemo(() => onClick || link ? "zen-list-item--clickable" : "", [link, onClick]);
170
172
  return _jsxs("li", {
171
173
  id: id,
172
- className: classNames(["zen-list-item", mobileClassName || driveClassName || "", clickableClassName, className || ""]),
174
+ className: classNames(["zen-list-item", mobileClassName || driveClassName || "", clickableClassName, wrap ? "zen-list-item--wrap" : "", vertical ? "zen-list-item--vertical" : "", className || ""]),
173
175
  onClick: handleClick,
174
176
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
175
177
  ref: itemRef,
@@ -51,10 +51,10 @@ injectString("da-DK", "Close", "Luk");
51
51
  injectString("de", "Close", "Schlie\xDFen");
52
52
  injectString("en", "Close", "Close");
53
53
  injectString("es", "Close", "Cerrar");
54
- injectString("fi-FI", "Close", "Sulje");
54
+ injectString("fi-FI", "Close", "Sulkea");
55
55
  injectString("fr", "Close", "Fermer");
56
56
  injectString("fr-FR", "Close", "Fermer");
57
- injectString("hu-HU", "Close", "Z\xE1rd be.");
57
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
58
58
  injectString("id", "Close", "Tutup");
59
59
  injectString("it", "Close", "Chiudere");
60
60
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -65,13 +65,13 @@ injectString("nl", "Close", "Sluiten");
65
65
  injectString("pl", "Close", "Zamknij");
66
66
  injectString("pt-BR", "Close", "Fechar");
67
67
  injectString("pt-PT", "Close", "Fechar");
68
- injectString("sk-SK", "Close", "Zatvor");
68
+ injectString("sk-SK", "Close", "Zatvori\u0165");
69
69
  injectString("sv", "Close", "St\xE4ng");
70
70
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
71
71
  injectString("tr", "Close", "Kapat");
72
72
  injectString("zh-Hans", "Close", "\u5173\u95ED");
73
73
  injectString("zh-TW", "Close", "\u95DC\u9589");
74
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
74
+ injectString("ro-RO", "Close", "\xCEnchide");
75
75
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
76
76
  export const MobileSheet = ({
77
77
  /* eslint-enable @typescript-eslint/naming-convention */
@@ -27,10 +27,10 @@ injectString("da-DK", "Close", "Luk");
27
27
  injectString("de", "Close", "Schlie\xDFen");
28
28
  injectString("en", "Close", "Close");
29
29
  injectString("es", "Close", "Cerrar");
30
- injectString("fi-FI", "Close", "Sulje");
30
+ injectString("fi-FI", "Close", "Sulkea");
31
31
  injectString("fr", "Close", "Fermer");
32
32
  injectString("fr-FR", "Close", "Fermer");
33
- injectString("hu-HU", "Close", "Z\xE1rd be.");
33
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
34
34
  injectString("id", "Close", "Tutup");
35
35
  injectString("it", "Close", "Chiudere");
36
36
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -41,13 +41,13 @@ injectString("nl", "Close", "Sluiten");
41
41
  injectString("pl", "Close", "Zamknij");
42
42
  injectString("pt-BR", "Close", "Fechar");
43
43
  injectString("pt-PT", "Close", "Fechar");
44
- injectString("sk-SK", "Close", "Zatvor");
44
+ injectString("sk-SK", "Close", "Zatvori\u0165");
45
45
  injectString("sv", "Close", "St\xE4ng");
46
46
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
47
47
  injectString("tr", "Close", "Kapat");
48
48
  injectString("zh-Hans", "Close", "\u5173\u95ED");
49
49
  injectString("zh-TW", "Close", "\u95DC\u9589");
50
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
50
+ injectString("ro-RO", "Close", "\xCEnchide");
51
51
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
52
52
  export const Modal = ({
53
53
  isOpen,
package/esm/nav/nav.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { IZenComponentProps } from "../commonHelpers/zenComponent";
2
2
  import "./nav.less";
3
+ import { FC } from "react";
4
+ import { NavEmpty } from "./navEmpty/navEmpty";
3
5
  export interface INav extends IZenComponentProps {
4
6
  mobileBarContainer: HTMLElement | null;
5
7
  collapsed?: boolean;
@@ -8,8 +10,12 @@ export interface INav extends IZenComponentProps {
8
10
  isMobileMenuOpen?: boolean;
9
11
  onIsMobileMenuOpenToggle?: (isOpen: boolean) => void;
10
12
  onEditModeToggle?: (isEdit: boolean) => void;
13
+ showEmptyState?: boolean;
14
+ showSectionDividers?: boolean;
11
15
  }
12
16
  /**
13
17
  * @beta This component is not fully ready yet and may change in future releases.
14
18
  */
15
- export declare const Nav: ({ children, className, collapsed, onCollapseToggle, onMenuVisibilityToggle, mobileBarContainer, isMobileMenuOpen, onIsMobileMenuOpenToggle, onEditModeToggle }: INav) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const Nav: FC<INav> & {
20
+ Empty: typeof NavEmpty;
21
+ };
package/esm/nav/nav.js CHANGED
@@ -10,6 +10,8 @@ import { NavMobileBar } from "./navMobileBar/navMobileBar";
10
10
  import { useMobile } from "../commonHelpers/hooks/useMobile";
11
11
  import { FOCUSABLE_SELECTOR } from "../utils/focusableSelector";
12
12
  import { zen } from "../utils/zen";
13
+ import { EmptyState } from "../emptyState/emptyState";
14
+ import { NavEmpty } from "./navEmpty/navEmpty";
13
15
  const NavContent = ({ children }) => {
14
16
  const { isEditState } = useNavContext();
15
17
  const contentRef = useRef(null);
@@ -51,7 +53,8 @@ const NavContent = ({ children }) => {
51
53
  /**
52
54
  * @beta This component is not fully ready yet and may change in future releases.
53
55
  */
54
- export const Nav = ({ children, className, collapsed = false, onCollapseToggle, onMenuVisibilityToggle, mobileBarContainer, isMobileMenuOpen = false, onIsMobileMenuOpenToggle, onEditModeToggle
56
+ // eslint-disable-next-line @typescript-eslint/naming-convention
57
+ export const Nav = ({ children, className, collapsed = false, onCollapseToggle, onMenuVisibilityToggle, mobileBarContainer, isMobileMenuOpen = false, onIsMobileMenuOpenToggle, onEditModeToggle, showEmptyState = false, showSectionDividers = true
55
58
  // eslint-disable-next-line complexity
56
59
  }) => {
57
60
  const menuRef = useRef(null);
@@ -88,8 +91,11 @@ export const Nav = ({ children, className, collapsed = false, onCollapseToggle,
88
91
  const secondaryFooter = footer && filterPrimaryNavItems(footer, true);
89
92
  const primaryFooter = footer && filterPrimaryNavItems(footer, false);
90
93
  const footerToRender = isEditState ? editFooter : isMobile ? secondaryFooter : footer;
94
+ const isCollapsedEmptyState = !isEditState && showEmptyState && collapsed && !isMobile;
95
+ const shouldRenderEmptyState = !isEditState && showEmptyState && !isCollapsedEmptyState;
91
96
  const primaryItems = [...primarySections, ...(primaryFooter ? [primaryFooter] : [])].flatMap(e => collectNavItems(e));
92
97
  const editListItems = childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavEditSection"; });
98
+ const navEmptyChild = childrenArray.find(child => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName) === "NavEmpty"; });
93
99
  const onSearchOpen = useCallback((isOpen) => {
94
100
  isOpen && onCollapseToggle && onCollapseToggle(false);
95
101
  setIsSearchOpen(isOpen || isMobile);
@@ -151,9 +157,8 @@ export const Nav = ({ children, className, collapsed = false, onCollapseToggle,
151
157
  className || ""
152
158
  ]), children: [header
153
159
  ? cloneElement(header, Object.assign(Object.assign({}, header.props), { className: classNames(["zen-nav__header", header.props.className || ""]) }))
154
- : null, _jsx(NavContent, { children: isEditState
155
- ? editListItems
156
- : sectionsToRender.map((section, index) => (_jsxs(Fragment, { children: [cloneElement(section, {
157
- className: classNames(["zen-nav__section", section.props.className || ""])
158
- }), isMobile || index < sectionsToRender.length - 1 ? _jsx(NavDivider, {}) : null] }, index))) }), footerToRender] })) : null, mobileBarContainer && isMobile && navMobileBarPortal] }));
160
+ : null, _jsx(NavContent, { children: isEditState ? (editListItems) : isCollapsedEmptyState ? null : shouldRenderEmptyState ? (_jsx("div", { className: "zen-nav__empty-state", children: _jsx(EmptyState, { description: navEmptyChild === null || navEmptyChild === void 0 ? void 0 : navEmptyChild.props.description, image: navEmptyChild === null || navEmptyChild === void 0 ? void 0 : navEmptyChild.props.image, children: navEmptyChild === null || navEmptyChild === void 0 ? void 0 : navEmptyChild.props.children }) })) : (sectionsToRender.map((section, index) => (_jsxs(Fragment, { children: [cloneElement(section, {
161
+ className: classNames(["zen-nav__section", section.props.className || ""])
162
+ }), showSectionDividers && (isMobile || index < sectionsToRender.length - 1) ? _jsx(NavDivider, {}) : null] }, index)))) }), footerToRender] })) : null, mobileBarContainer && isMobile && navMobileBarPortal] }));
159
163
  };
164
+ Nav.Empty = NavEmpty;
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from "react";
2
+ export interface INavEmpty {
3
+ description?: string;
4
+ image?: ReactNode | React.FC;
5
+ children?: ReactNode;
6
+ }
7
+ export declare const NavEmpty: {
8
+ (_: INavEmpty): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
@@ -0,0 +1,3 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ export const NavEmpty = (_) => _jsx(_Fragment, {});
3
+ NavEmpty.displayName = "NavEmpty";
@@ -16,10 +16,10 @@ injectString("da-DK", "Close", "Luk");
16
16
  injectString("de", "Close", "Schlie\xDFen");
17
17
  injectString("en", "Close", "Close");
18
18
  injectString("es", "Close", "Cerrar");
19
- injectString("fi-FI", "Close", "Sulje");
19
+ injectString("fi-FI", "Close", "Sulkea");
20
20
  injectString("fr", "Close", "Fermer");
21
21
  injectString("fr-FR", "Close", "Fermer");
22
- injectString("hu-HU", "Close", "Z\xE1rd be.");
22
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
23
23
  injectString("id", "Close", "Tutup");
24
24
  injectString("it", "Close", "Chiudere");
25
25
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -30,13 +30,13 @@ injectString("nl", "Close", "Sluiten");
30
30
  injectString("pl", "Close", "Zamknij");
31
31
  injectString("pt-BR", "Close", "Fechar");
32
32
  injectString("pt-PT", "Close", "Fechar");
33
- injectString("sk-SK", "Close", "Zatvor");
33
+ injectString("sk-SK", "Close", "Zatvori\u0165");
34
34
  injectString("sv", "Close", "St\xE4ng");
35
35
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
36
36
  injectString("tr", "Close", "Kapat");
37
37
  injectString("zh-Hans", "Close", "\u5173\u95ED");
38
38
  injectString("zh-TW", "Close", "\u95DC\u9589");
39
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
39
+ injectString("ro-RO", "Close", "\xCEnchide");
40
40
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
41
41
  export const Notification = ({
42
42
  id,
@@ -6,7 +6,7 @@ export const PushNotification = ({ children, isOpen }) => {
6
6
  if (!ref.current || !isOpen) {
7
7
  return;
8
8
  }
9
- ref.current.animate([{ left: "120%" }, { left: "0%" }], {
9
+ ref.current.animate([{ insetInlineStart: "120%" }, { insetInlineStart: "0%" }], {
10
10
  duration: 150,
11
11
  iterations: 1,
12
12
  delay: 0
@@ -13,10 +13,10 @@ injectString("da-DK", "Close", "Luk");
13
13
  injectString("de", "Close", "Schlie\xDFen");
14
14
  injectString("en", "Close", "Close");
15
15
  injectString("es", "Close", "Cerrar");
16
- injectString("fi-FI", "Close", "Sulje");
16
+ injectString("fi-FI", "Close", "Sulkea");
17
17
  injectString("fr", "Close", "Fermer");
18
18
  injectString("fr-FR", "Close", "Fermer");
19
- injectString("hu-HU", "Close", "Z\xE1rd be.");
19
+ injectString("hu-HU", "Close", "Bez\xE1r\xE1s");
20
20
  injectString("id", "Close", "Tutup");
21
21
  injectString("it", "Close", "Chiudere");
22
22
  injectString("ja", "Close", "\u9589\u3058\u308B");
@@ -27,13 +27,13 @@ injectString("nl", "Close", "Sluiten");
27
27
  injectString("pl", "Close", "Zamknij");
28
28
  injectString("pt-BR", "Close", "Fechar");
29
29
  injectString("pt-PT", "Close", "Fechar");
30
- injectString("sk-SK", "Close", "Zatvor");
30
+ injectString("sk-SK", "Close", "Zatvori\u0165");
31
31
  injectString("sv", "Close", "St\xE4ng");
32
32
  injectString("th", "Close", "\u0E1B\u0E34\u0E14");
33
33
  injectString("tr", "Close", "Kapat");
34
34
  injectString("zh-Hans", "Close", "\u5173\u95ED");
35
35
  injectString("zh-TW", "Close", "\u95DC\u9589");
36
- injectString("ro-RO", "Close", "\xCEnchide\u021Bi");
36
+ injectString("ro-RO", "Close", "\xCEnchide");
37
37
  injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
38
38
  export const NonActionablePill = ({
39
39
  icon,