@mtes-mct/monitor-ui 17.0.0 → 17.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,37 @@
1
+ ## [17.1.0](https://github.com/MTES-MCT/monitor-ui/compare/v17.0.0...v17.1.0) (2024-05-09)
2
+
3
+
4
+ ### Features
5
+
6
+ * **cypress:** add index to fill command ([1e93f0c](https://github.com/MTES-MCT/monitor-ui/commit/1e93f0cad50960bb1650bd37bdad2e9f64d78bb6))
7
+ * **cypress:** add logging to fill command ([eeafd54](https://github.com/MTES-MCT/monitor-ui/commit/eeafd549cd081dd0ff85ad43a2cd167878602975))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **CheckPicker:** remove useKey ([2b552a8](https://github.com/MTES-MCT/monitor-ui/commit/2b552a810357a106c060a5abe80490f41348909d))
13
+
14
+ ## [17.0.0](https://github.com/MTES-MCT/monitor-ui/compare/v16.5.0...v17.0.0) (2024-05-02)
15
+
16
+
17
+ ### ⚠ BREAKING CHANGES
18
+
19
+ * **elements:** `<IconButton />` is now a span instead of a div.
20
+
21
+ ### Bug Fixes
22
+
23
+ * **elements:** switch IconBox wrapper element from a div to a span ([4a17f10](https://github.com/MTES-MCT/monitor-ui/commit/4a17f10699bfe59c6484641e0759741a89dbcc88))
24
+
25
+
26
+ ### Buid System & Dependencies
27
+
28
+ * **deps:** bump @babel/runtime from 7.24.4 to 7.24.5 ([0c6b0a6](https://github.com/MTES-MCT/monitor-ui/commit/0c6b0a609e79c6870ae70c36cd52ed2ec5cb1084))
29
+ * **deps:** bump ejs from 3.1.9 to 3.1.10 ([5a3e05a](https://github.com/MTES-MCT/monitor-ui/commit/5a3e05a4139084163cdbed69929af0056031fbc9))
30
+ * **dev-deps:** bump @babel/preset-react from 7.22.15 to 7.24.1 ([a78b5b3](https://github.com/MTES-MCT/monitor-ui/commit/a78b5b37108683db184a416259ee04a0551ef44a))
31
+ * **dev-deps:** bump react-is from 18.2.0 to 18.3.1 ([258a53d](https://github.com/MTES-MCT/monitor-ui/commit/258a53d57d981fd2c92a167627fd5620e48682d0))
32
+ * **dev-deps:** bump rollup-plugin-sizes from 1.0.5 to 1.0.6 ([8a19fe6](https://github.com/MTES-MCT/monitor-ui/commit/8a19fe605c9f6e10612e2b37f1b561ec1cb3e375))
33
+ * **dev-deps:** bump semantic-release from 23.0.0 to 23.0.8 ([47e7c23](https://github.com/MTES-MCT/monitor-ui/commit/47e7c23ab207cbc950503bed03909ccdf70fb717))
34
+
1
35
  ## [16.5.0](https://github.com/MTES-MCT/monitor-ui/compare/v16.4.0...v16.5.0) (2024-05-01)
2
36
 
3
37
 
@@ -0,0 +1,2 @@
1
+ export declare const ANIMATION_DURATION_IN_MS = 300;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Banner/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Banner/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAA;AAChF,OAAe,EAAO,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGnE,OAAO,EAAgB,KAAK,EAAQ,MAAM,iBAAiB,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACvC,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9C,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3C,CAAA;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,SAAqB,EACrB,YAAmB,EACnB,UAAkB,EAClB,aAAqB,EACrB,OAAe,EACf,iBAAyB,EACzB,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,GAAG,EACH,oBAA4B,EAC7B,EAAE,QAAQ,CAAC,WAAW,CAAC,2CAgFvB;yBA9Fe,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Banner/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAA;AAChF,OAAe,EAAO,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAInE,OAAO,EAAgB,KAAK,EAAQ,MAAM,iBAAiB,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAEhC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACvC,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9C,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3C,CAAA;AACD,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,SAAqB,EACrB,YAAmB,EACnB,UAAkB,EAClB,aAAqB,EACrB,OAAe,EACf,iBAAyB,EACzB,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,GAAG,EACH,oBAA4B,EAC7B,EAAE,QAAQ,CAAC,WAAW,CAAC,2CA6FvB;yBA3Ge,MAAM"}
@@ -115,6 +115,7 @@ declare namespace Cypress {
115
115
 
116
116
  interface FillOptions extends Forceable {
117
117
  delay: number
118
+ index: number
118
119
  retries: number
119
120
  }
120
121
  }
package/cypress/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // I have no idea why I have to add this dirty hack of setting an external variable
2
2
  // instead of using a cleaner FP `.filter()`
3
3
  // but real experience made me think it greatly improves results stability.
4
- function findElementBytext(selector, text, { fallbackSelector, index = 0, inElement } = {}) {
4
+ function findElementByText(selector, text, { fallbackSelector, index = 0, inElement } = {}) {
5
5
  const trimmedText = text.trim();
6
6
  if (inElement) {
7
7
  let foundElement;
@@ -47,7 +47,7 @@ function findElementBytext(selector, text, { fallbackSelector, index = 0, inElem
47
47
 
48
48
  const RETRIES = 5;
49
49
  function findButton(label, preSelector, { index, prevSubjectElement }) {
50
- const buttonElement = findElementBytext(`${preSelector}button`, label, {
50
+ const buttonElement = findElementByText(`${preSelector}button`, label, {
51
51
  index,
52
52
  inElement: prevSubjectElement
53
53
  });
@@ -62,7 +62,7 @@ function findButton(label, preSelector, { index, prevSubjectElement }) {
62
62
  if (buttonElementByTitle) {
63
63
  return buttonElementByTitle;
64
64
  }
65
- const menuItemElement = findElementBytext(`${preSelector}[role="menuitem"]`, label, {
65
+ const menuItemElement = findElementByText(`${preSelector}[role="menuitem"]`, label, {
66
66
  index,
67
67
  inElement: prevSubjectElement
68
68
  });
@@ -206,6 +206,7 @@ function checkMultiRadioOption(fieldsetElement, value, _label, force) {
206
206
  const DEFAULT_OPTIONS = {
207
207
  delay: 10,
208
208
  force: true,
209
+ index: 0,
209
210
  retries: 5
210
211
  };
211
212
 
@@ -809,11 +810,13 @@ function fill(label, value, options = {}) {
809
810
  try {
810
811
  // =========================================================================
811
812
  // If it's a field labelled by a `<label />` element
812
- const labelElement = findElementBytext('label', label);
813
+ const labelElement = findElementByText('label', label, {
814
+ index: controlledOptions.index
815
+ });
813
816
  if (labelElement) {
814
817
  const fieldElement = findElementParentBySelector(labelElement, '.Element-Field');
815
818
  if (!fieldElement) {
816
- throwError(`Could not find '.Element-Field' in field with label "${label}".`);
819
+ throwError(`Could not find '.Element-Field' in field with label "${label}" at index "${controlledOptions.index}".`);
817
820
  }
818
821
  switch(true){
819
822
  // ---------------------------------------------------------------------
@@ -876,11 +879,13 @@ function fill(label, value, options = {}) {
876
879
  }
877
880
  // =========================================================================
878
881
  // If it's a field labelled by a `<legend />` element
879
- const legendElement = findElementBytext('legend', label);
882
+ const legendElement = findElementByText('legend', label, {
883
+ index: controlledOptions.index
884
+ });
880
885
  if (legendElement) {
881
886
  const fieldsetElement = findElementParentBySelector(legendElement, '.Element-Fieldset');
882
887
  if (!fieldsetElement) {
883
- throwError(`Could not find '.Element-Fieldset' in field with \`<legend />\` "${label}".`);
888
+ throwError(`Could not find '.Element-Fieldset' in field with \`<legend />\` "${label}" at index "${controlledOptions.index}".`);
884
889
  }
885
890
  switch(true){
886
891
  // ---------------------------------------------------------------------
@@ -935,7 +940,7 @@ function fill(label, value, options = {}) {
935
940
  name: 'fill'
936
941
  }).error(normalizedError);
937
942
  throwError([
938
- `Could not find or fill field with label or legend "${label}" after ${TOTAL_RETRIES} attempts.`,
943
+ `Could not find or fill field with label or legend "${label}" at index "${controlledOptions.index}" after ${TOTAL_RETRIES} attempts.`,
939
944
  `This error was thrown: “${normalizedError.message}”`,
940
945
  `Please check the Cypress "- ERROR" log above for more details.`
941
946
  ].join('\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/elements/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAGjD,MAAM,MAAM,SAAS,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,8GAuBhB,CAAA"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/elements/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAGjD,MAAM,MAAM,SAAS,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,8GAwChB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckPicker.d.ts","sourceRoot":"","sources":["../../src/fields/CheckPicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAoC,KAAK,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAS1G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAKxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,MAAM,gBAAgB,CAAC,WAAW,SAAS,eAAe,GAAG,MAAM,IAAI,IAAI,CAC/E,sBAAsB,CAAC,MAAM,CAAC,EAC9B,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,IAAI,GAAG,UAAU,GAAG,gBAAgB,GAAG,OAAO,GAAG,UAAU,CAC3G,GAAG;IACF,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAChD,+EAA+E;IAC/E,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1C,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,CAAA;IACrE,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAC9C,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;CAClC,CAAA;AACD,wBAAgB,WAAW,CAAC,WAAW,SAAS,eAAe,GAAG,MAAM,EAAE,EACxE,SAAS,EACT,YAAY,EACZ,0BAA8B,EAC9B,QAAgB,EAChB,KAAK,EACL,oBAA4B,EAC5B,aAAqB,EACrB,OAAe,EACf,UAAkB,EAClB,aAAqB,EACrB,uBAA+B,EAC/B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,UAAU,EACV,QAAgB,EAChB,UAAkB,EAClB,KAAK,EACL,KAAK,EACL,GAAG,aAAa,EACjB,EAAE,gBAAgB,CAAC,WAAW,CAAC,2CA0G/B"}
1
+ {"version":3,"file":"CheckPicker.d.ts","sourceRoot":"","sources":["../../src/fields/CheckPicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAoC,KAAK,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAQ1G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAKxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,MAAM,gBAAgB,CAAC,WAAW,SAAS,eAAe,GAAG,MAAM,IAAI,IAAI,CAC/E,sBAAsB,CAAC,MAAM,CAAC,EAC9B,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,IAAI,GAAG,UAAU,GAAG,gBAAgB,GAAG,OAAO,GAAG,UAAU,CAC3G,GAAG;IACF,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAChD,+EAA+E;IAC/E,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1C,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,CAAA;IACrE,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAC9C,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;CAClC,CAAA;AACD,wBAAgB,WAAW,CAAC,WAAW,SAAS,eAAe,GAAG,MAAM,EAAE,EACxE,SAAS,EACT,YAAY,EACZ,0BAA8B,EAC9B,QAAgB,EAChB,KAAK,EACL,oBAA4B,EAC5B,aAAqB,EACrB,OAAe,EACf,UAAkB,EAClB,aAAqB,EACrB,uBAA+B,EAC/B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,UAAU,EACV,QAAgB,EAChB,UAAkB,EAClB,KAAK,EACL,KAAK,EACL,GAAG,aAAa,EACjB,EAAE,gBAAgB,CAAC,WAAW,CAAC,2CAwG/B"}
package/index.js CHANGED
@@ -53781,6 +53781,8 @@ function LinkButton({ children, Icon, ...props }) {
53781
53781
  }
53782
53782
  LinkButton.displayName = 'LinkButton';
53783
53783
 
53784
+ const ANIMATION_DURATION_IN_MS = 300;
53785
+
53784
53786
  const getBannerPalette = (level)=>{
53785
53787
  if (level === Level.ERROR) {
53786
53788
  return {
@@ -53821,14 +53823,20 @@ function Banner({ children, className = undefined, closingDelay = 3000, isClosab
53821
53823
  setIsCollapsed(true);
53822
53824
  }
53823
53825
  };
53824
- const onClickAction = useCallback(()=>{
53826
+ const closeOrCollapse = useCallback(()=>{
53827
+ if (timeoutIdRef.current) {
53828
+ clearTimeout(timeoutIdRef.current);
53829
+ }
53825
53830
  if (isClosable) {
53826
53831
  setIsHidden(true);
53827
53832
  onClose?.();
53828
53833
  } else if (isCollapsible) {
53829
53834
  setIsCollapsing(true);
53830
- setIsCollapsed(true);
53831
- setHasCollapsed(true);
53835
+ setTimeout(()=>{
53836
+ setIsCollapsed(true);
53837
+ setHasCollapsed(true);
53838
+ onClose?.();
53839
+ }, ANIMATION_DURATION_IN_MS);
53832
53840
  }
53833
53841
  }, [
53834
53842
  isClosable,
@@ -53837,16 +53845,16 @@ function Banner({ children, className = undefined, closingDelay = 3000, isClosab
53837
53845
  ]);
53838
53846
  useEffect(()=>{
53839
53847
  if (withAutomaticClosing) {
53840
- const timeoutId = setTimeout(()=>{
53841
- onClickAction();
53848
+ timeoutIdRef.current = setTimeout(()=>{
53849
+ closeOrCollapse();
53842
53850
  onAutoClose?.();
53843
53851
  }, closingDelay);
53844
- timeoutIdRef.current = timeoutId;
53845
53852
  }
53846
53853
  return ()=>clearTimeout(timeoutIdRef.current);
53847
53854
  }, [
53848
53855
  closingDelay,
53849
- onClickAction,
53856
+ closeOrCollapse,
53857
+ isCollapsible,
53850
53858
  onAutoClose,
53851
53859
  withAutomaticClosing
53852
53860
  ]);
@@ -53873,13 +53881,15 @@ function Banner({ children, className = undefined, closingDelay = 3000, isClosab
53873
53881
  }),
53874
53882
  /*#__PURE__*/ jsxs(ButtonWrapper, {
53875
53883
  className: "banner-button",
53876
- onClick: ()=>onClickAction(),
53884
+ onClick: ()=>closeOrCollapse(),
53885
+ // TODO This is a breaking change but we should only use `IconButton` title rather than this one.
53877
53886
  title: isClosable ? 'fermer' : 'masquer',
53878
53887
  children: [
53879
53888
  isClosable && /*#__PURE__*/ jsx(IconButton, {
53880
53889
  accent: Accent.TERTIARY,
53881
53890
  color: getBannerPalette(level).color,
53882
- Icon: Close
53891
+ Icon: Close,
53892
+ title: isClosable ? 'Fermer' : 'Masquer'
53883
53893
  }),
53884
53894
  !isClosable && isCollapsible && /*#__PURE__*/ jsx(LinkButton, {
53885
53895
  size: Size.LARGE,
@@ -53909,7 +53919,7 @@ const Wrapper = styled.div`
53909
53919
  padding: 0 2rem;
53910
53920
  position: ${(p)=>p.$isFixed ? 'fixed' : 'absolute'};
53911
53921
  top: ${(p)=>`${p.$top}`};
53912
- transition: height 0.3s ease;
53922
+ transition: height ${ANIMATION_DURATION_IN_MS}ms ease;
53913
53923
  width: 100%;
53914
53924
  z-index: 1000;
53915
53925
  `;
@@ -54034,27 +54044,44 @@ const Label = styled.label.attrs((props)=>({
54034
54044
  `;
54035
54045
 
54036
54046
  const Link$1 = styled.a`
54037
- color: ${(p)=>p.theme.color.slateGray};
54038
- text-decoration: underline;
54047
+ color: ${(p)=>p.theme.color.slateGray} !important;
54048
+ text-decoration: underline !important;
54049
+
54050
+ svg {
54051
+ color: ${(p)=>p.theme.color.slateGray} !important;
54052
+ }
54053
+
54054
+ &:visited {
54055
+ color: ${(p)=>p.theme.color.slateGray} !important;
54056
+ text-decoration: underline !important;
54039
54057
 
54040
- &:hover,
54041
- &._hover {
54042
- color: ${(p)=>p.theme.color.blueYonder};
54043
54058
  svg {
54044
- color: ${(p)=>p.theme.color.blueYonder};
54059
+ color: ${(p)=>p.theme.color.slateGray} !important;
54045
54060
  }
54046
54061
  }
54047
54062
 
54048
- &:active,
54049
- &._active {
54050
- color: ${(p)=>p.theme.color.blueGray};
54063
+ &:hover,
54064
+ &._hover,
54065
+ &:visited:hover,
54066
+ &.visited._hover {
54067
+ color: ${(p)=>p.theme.color.blueYonder} !important;
54068
+ text-decoration: underline !important;
54069
+
54051
54070
  svg {
54052
- color: ${(p)=>p.theme.color.blueGray};
54071
+ color: ${(p)=>p.theme.color.blueYonder} !important;
54053
54072
  }
54054
54073
  }
54055
54074
 
54056
- &:visited {
54057
- color: ${(p)=>p.theme.color.slateGray};
54075
+ &:active,
54076
+ &._active,
54077
+ &:visited:active,
54078
+ &.visited._active {
54079
+ color: ${(p)=>p.theme.color.blueGray} !important;
54080
+ text-decoration: underline !important;
54081
+
54082
+ svg {
54083
+ color: ${(p)=>p.theme.color.blueGray} !important;
54084
+ }
54058
54085
  }
54059
54086
  `;
54060
54087
  Link$1.displayName = 'LinkButton';
@@ -54894,13 +54921,7 @@ function CheckPicker({ className, customSearch, customSearchMinQueryLength = 1,
54894
54921
  const controlledError = useMemo(()=>normalizeString(error), [
54895
54922
  error
54896
54923
  ]);
54897
- const hasError = useMemo(()=>Boolean(controlledError), [
54898
- controlledError
54899
- ]);
54900
- const key = useKey([
54901
- disabled,
54902
- originalProps.name
54903
- ]);
54924
+ const hasError = Boolean(controlledError);
54904
54925
  const selectedRsuiteValue = useMemo(()=>getRsuiteDataItemValuesFromOptionValues(value, optionValueKey), [
54905
54926
  optionValueKey,
54906
54927
  value
@@ -54983,7 +55004,7 @@ function CheckPicker({ className, customSearch, customSearchMinQueryLength = 1,
54983
55004
  size: originalProps.size ?? 'sm',
54984
55005
  value: selectedRsuiteValue,
54985
55006
  ...originalProps
54986
- }, key)
55007
+ })
54987
55008
  }),
54988
55009
  !isErrorMessageHidden && hasError && /*#__PURE__*/ jsx(FieldError, {
54989
55010
  children: controlledError
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mtes-mct/monitor-ui",
3
3
  "description": "Common React components, hooks, utilities and CSS stylesheets for MonitorFish, MonitorEnv and RapportNav.",
4
- "version": "17.0.0",
4
+ "version": "17.1.1",
5
5
  "license": "AGPL-3.0",
6
6
  "type": "module",
7
7
  "engines": {