@portnet/ui 6.0.1 → 6.0.2

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 (158) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/esm/index.js +18 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/FieldError.test.js +0 -1
  5. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  6. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  7. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/FileCard.test.js +0 -1
  9. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  10. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
  11. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
  13. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  14. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
  15. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/MobileRowCard.test.js +0 -1
  17. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  19. package/dist/esm/v2/__tests__/labels-merge.test.js +0 -1
  20. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  21. package/dist/esm/v2/components/DateTimePicker.js +37 -4
  22. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  23. package/dist/esm/v2/components/Field.js +63 -1
  24. package/dist/esm/v2/components/Field.js.map +1 -1
  25. package/dist/esm/v2/components/index.js +27 -0
  26. package/dist/esm/v2/components/index.js.map +1 -1
  27. package/dist/esm/v2/index.js +12 -1
  28. package/dist/esm/v2/index.js.map +1 -1
  29. package/dist/esm/v2/patterns/FavoriteColumn.js +14 -61
  30. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  31. package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
  32. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  33. package/dist/esm/v2/patterns/FormikCombobox.js +5 -2
  34. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  35. package/dist/esm/v2/patterns/FormikDatePicker.js +13 -47
  36. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  37. package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
  38. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  39. package/dist/esm/v2/patterns/FormikInput.js +5 -2
  40. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  41. package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
  42. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  43. package/dist/esm/v2/patterns/FormikSelect.js +5 -2
  44. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  45. package/dist/esm/v2/patterns/FormikTextarea.js +5 -2
  46. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  47. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +25 -8
  48. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  49. package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
  50. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  51. package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
  52. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  53. package/dist/esm/v2/patterns/index.js +83 -0
  54. package/dist/esm/v2/patterns/index.js.map +1 -1
  55. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
  56. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  57. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  58. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  59. package/dist/esm/v2/personalization/index.js +18 -0
  60. package/dist/esm/v2/personalization/index.js.map +1 -1
  61. package/dist/index.d.ts +2 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +14 -0
  64. package/dist/index.js.map +1 -1
  65. package/dist/v2/__tests__/FieldError.test.js +26 -30
  66. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  67. package/dist/v2/__tests__/FieldWidth.test.js +150 -0
  68. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  69. package/dist/v2/__tests__/FileCard.test.js +25 -29
  70. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  71. package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
  72. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  73. package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
  74. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  75. package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
  76. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  77. package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
  78. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  79. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  80. package/dist/v2/__tests__/labels-merge.test.js +20 -24
  81. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  82. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  83. package/dist/v2/components/DateTimePicker.js +37 -4
  84. package/dist/v2/components/DateTimePicker.js.map +1 -1
  85. package/dist/v2/components/Field.d.ts +59 -1
  86. package/dist/v2/components/Field.d.ts.map +1 -1
  87. package/dist/v2/components/Field.js +62 -2
  88. package/dist/v2/components/Field.js.map +1 -1
  89. package/dist/v2/components/index.d.ts +27 -0
  90. package/dist/v2/components/index.d.ts.map +1 -1
  91. package/dist/v2/components/index.js.map +1 -1
  92. package/dist/v2/index.d.ts.map +1 -1
  93. package/dist/v2/index.js.map +1 -1
  94. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  95. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  96. package/dist/v2/patterns/FavoriteColumn.js +14 -61
  97. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  98. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  99. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  100. package/dist/v2/patterns/FormikCheckbox.js +147 -0
  101. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  102. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  103. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  104. package/dist/v2/patterns/FormikCombobox.js +5 -2
  105. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  106. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  107. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  108. package/dist/v2/patterns/FormikDatePicker.js +33 -66
  109. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  110. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  111. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  112. package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
  113. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  114. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  115. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  116. package/dist/v2/patterns/FormikInput.js +5 -2
  117. package/dist/v2/patterns/FormikInput.js.map +1 -1
  118. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  119. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  120. package/dist/v2/patterns/FormikRadioGroup.js +148 -0
  121. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  122. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  123. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  124. package/dist/v2/patterns/FormikSelect.js +5 -2
  125. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  126. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  127. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  128. package/dist/v2/patterns/FormikTextarea.js +5 -2
  129. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  130. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  131. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  132. package/dist/v2/patterns/KeyboardShortcutsHelp.js +25 -8
  133. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  134. package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
  135. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  136. package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
  137. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  138. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  139. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  140. package/dist/v2/patterns/_pickerSerialisation.js +81 -0
  141. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  142. package/dist/v2/patterns/index.d.ts +87 -0
  143. package/dist/v2/patterns/index.d.ts.map +1 -1
  144. package/dist/v2/patterns/index.js +34 -0
  145. package/dist/v2/patterns/index.js.map +1 -1
  146. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  147. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  148. package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
  149. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  150. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  151. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  152. package/dist/v2/personalization/capabilities/index.js +13 -0
  153. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  154. package/dist/v2/personalization/index.d.ts +18 -0
  155. package/dist/v2/personalization/index.d.ts.map +1 -1
  156. package/dist/v2/personalization/index.js +13 -0
  157. package/dist/v2/personalization/index.js.map +1 -1
  158. package/package.json +1 -1
@@ -0,0 +1,80 @@
1
+ /**
2
+ * FormikRadioGroup — bridge between Formik state and v2.Field +
3
+ * v2.RadioGroup.
4
+ *
5
+ * ── WHY (gap G-C) ────────────────────────────────────────────────────
6
+ *
7
+ * R-Sel.2 is a MUST: 2–3 options → Radio or Segmented, never a Select. So any
8
+ * form with a two-way business question has to reach for `RadioGroup` — and
9
+ * until now there was no Formik bridge for it, while `FormikCheckboxGroup`,
10
+ * `FormikSelect`, `FormikCombobox`, `FormikDatePicker`, `FormikTextarea`,
11
+ * `FormikFile` and `FormikInput` all exist. Every host therefore re-wired
12
+ * `useField` + `RadioGroup` by hand, which is the duplication R-2.1 forbids
13
+ * and, worse, the shape in which validation messages go missing: a hand-rolled
14
+ * bridge renders the control but forgets `FieldError`.
15
+ *
16
+ * Reported from refonte-frontend (lot 5), where ONE form carried two such
17
+ * groups (`usageHorsMetrologique`, `certificat`).
18
+ *
19
+ * ── THE VALUE IS WRITTEN BACK AS DECLARED, NOT AS THE DOM SAW IT ─────
20
+ *
21
+ * This is the contract that matters, and it is invisible.
22
+ *
23
+ * A native `<input type="radio">` only ever reports a STRING. A host whose
24
+ * options are numbers — `{ value: 1 }`, `{ value: 2 }` — and whose payload
25
+ * declares a number would silently start sending `"1"` after the user picks.
26
+ * The API accepts it or rejects it days later; nothing in the UI tells anyone.
27
+ *
28
+ * So `onChange` matches the DOM string back against the option list and writes
29
+ * the ORIGINAL option value. Numbers stay numbers, strings stay strings. Only
30
+ * when no option matches (a host mutating its list mid-flight) does the raw DOM
31
+ * string go through, because dropping the user's click would be worse.
32
+ *
33
+ * Symmetrically, the group's `value` is compared as a string, so a field
34
+ * holding a boolean `false` selects the option declared `"false"`, and a field
35
+ * holding the number `2` selects `{ value: 2 }`. The STORED value is never
36
+ * coerced by this — only the comparison is.
37
+ *
38
+ * Usage:
39
+ *
40
+ * <FormikRadioGroup
41
+ * name="importateur.certificat"
42
+ * label="Modèle déjà approuvé"
43
+ * required
44
+ * row
45
+ * options={[
46
+ * { value: "true", label: "Oui" },
47
+ * { value: "false", label: "Non" },
48
+ * ]}
49
+ * />
50
+ *
51
+ * ── ERRORS APPEAR ON PICK, NOT ON BLUR ──────────────────────────────
52
+ *
53
+ * A radio group has no meaningful blur-before-change: the first interaction IS
54
+ * the answer. Waiting for a blur keeps a required-group message hidden while
55
+ * the user clicks around. Picking marks the field touched — same rule as
56
+ * `FormikCheckbox` and `FormikCheckboxGroup`.
57
+ *
58
+ * `required` is expressed on the FIELD, not on the options: `Field` renders the
59
+ * asterisk on the group label and injects `aria-required`, which — unlike the
60
+ * single-checkbox case — is valid on `role="radiogroup"` and forwarded by
61
+ * `RadioGroup`.
62
+ *
63
+ * Charter §03 · R-Sel.2, R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.
64
+ */
65
+ import * as React from "react";
66
+ import type { RadioGroupOption } from "../components/Radio";
67
+ export interface FormikRadioGroupProps {
68
+ name: string;
69
+ /** Group label — rendered by `Field` above the options. */
70
+ label?: React.ReactNode | undefined;
71
+ options?: RadioGroupOption[] | undefined;
72
+ required?: boolean | undefined;
73
+ disabled?: boolean | undefined;
74
+ hint?: React.ReactNode | undefined;
75
+ /** Horizontal layout. Use only with short labels. */
76
+ row?: boolean | undefined;
77
+ }
78
+ declare const FormikRadioGroup: ({ name, label, options, required, disabled, hint, row, }: FormikRadioGroupProps) => React.JSX.Element;
79
+ export default FormikRadioGroup;
80
+ //# sourceMappingURL=FormikRadioGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikRadioGroup.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikRadioGroup.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,qDAAqD;IACrD,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAOD,QAAA,MAAM,gBAAgB,GAAI,0DAQvB,qBAAqB,sBA+CvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _formik = require("formik");
10
+ var _Field = _interopRequireDefault(require("../components/Field"));
11
+ var _Radio = require("../components/Radio");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
27
+ * FormikRadioGroup — bridge between Formik state and v2.Field +
28
+ * v2.RadioGroup.
29
+ *
30
+ * ── WHY (gap G-C) ────────────────────────────────────────────────────
31
+ *
32
+ * R-Sel.2 is a MUST: 2–3 options → Radio or Segmented, never a Select. So any
33
+ * form with a two-way business question has to reach for `RadioGroup` — and
34
+ * until now there was no Formik bridge for it, while `FormikCheckboxGroup`,
35
+ * `FormikSelect`, `FormikCombobox`, `FormikDatePicker`, `FormikTextarea`,
36
+ * `FormikFile` and `FormikInput` all exist. Every host therefore re-wired
37
+ * `useField` + `RadioGroup` by hand, which is the duplication R-2.1 forbids
38
+ * and, worse, the shape in which validation messages go missing: a hand-rolled
39
+ * bridge renders the control but forgets `FieldError`.
40
+ *
41
+ * Reported from refonte-frontend (lot 5), where ONE form carried two such
42
+ * groups (`usageHorsMetrologique`, `certificat`).
43
+ *
44
+ * ── THE VALUE IS WRITTEN BACK AS DECLARED, NOT AS THE DOM SAW IT ─────
45
+ *
46
+ * This is the contract that matters, and it is invisible.
47
+ *
48
+ * A native `<input type="radio">` only ever reports a STRING. A host whose
49
+ * options are numbers — `{ value: 1 }`, `{ value: 2 }` — and whose payload
50
+ * declares a number would silently start sending `"1"` after the user picks.
51
+ * The API accepts it or rejects it days later; nothing in the UI tells anyone.
52
+ *
53
+ * So `onChange` matches the DOM string back against the option list and writes
54
+ * the ORIGINAL option value. Numbers stay numbers, strings stay strings. Only
55
+ * when no option matches (a host mutating its list mid-flight) does the raw DOM
56
+ * string go through, because dropping the user's click would be worse.
57
+ *
58
+ * Symmetrically, the group's `value` is compared as a string, so a field
59
+ * holding a boolean `false` selects the option declared `"false"`, and a field
60
+ * holding the number `2` selects `{ value: 2 }`. The STORED value is never
61
+ * coerced by this — only the comparison is.
62
+ *
63
+ * Usage:
64
+ *
65
+ * <FormikRadioGroup
66
+ * name="importateur.certificat"
67
+ * label="Modèle déjà approuvé"
68
+ * required
69
+ * row
70
+ * options={[
71
+ * { value: "true", label: "Oui" },
72
+ * { value: "false", label: "Non" },
73
+ * ]}
74
+ * />
75
+ *
76
+ * ── ERRORS APPEAR ON PICK, NOT ON BLUR ──────────────────────────────
77
+ *
78
+ * A radio group has no meaningful blur-before-change: the first interaction IS
79
+ * the answer. Waiting for a blur keeps a required-group message hidden while
80
+ * the user clicks around. Picking marks the field touched — same rule as
81
+ * `FormikCheckbox` and `FormikCheckboxGroup`.
82
+ *
83
+ * `required` is expressed on the FIELD, not on the options: `Field` renders the
84
+ * asterisk on the group label and injects `aria-required`, which — unlike the
85
+ * single-checkbox case — is valid on `role="radiogroup"` and forwarded by
86
+ * `RadioGroup`.
87
+ *
88
+ * Charter §03 · R-Sel.2, R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.
89
+ */
90
+ /** Declared value of an option, whatever its shape. */
91
+ function valeurOption(option) {
92
+ return typeof option === "string" ? option : option.value;
93
+ }
94
+ var FormikRadioGroup = function FormikRadioGroup(_ref) {
95
+ var name = _ref.name,
96
+ label = _ref.label,
97
+ _ref$options = _ref.options,
98
+ options = _ref$options === void 0 ? [] : _ref$options,
99
+ required = _ref.required,
100
+ disabled = _ref.disabled,
101
+ hint = _ref.hint,
102
+ row = _ref.row;
103
+ var _useField = (0, _formik.useField)(name),
104
+ _useField2 = _slicedToArray(_useField, 2),
105
+ field = _useField2[0],
106
+ meta = _useField2[1];
107
+ var _useFormikContext = (0, _formik.useFormikContext)(),
108
+ setFieldValue = _useFormikContext.setFieldValue,
109
+ setFieldTouched = _useFormikContext.setFieldTouched;
110
+ var hasError = Boolean(meta.touched && meta.error);
111
+
112
+ /* Comparison only — the stored value is left untouched. A field holding
113
+ * boolean `false` therefore selects the option declared "false". */
114
+ var selection = field.value === null || field.value === undefined ? "" : String(field.value);
115
+ var handleChange = function handleChange(_event, valeurDom) {
116
+ var correspondante = options.find(function (option) {
117
+ return String(valeurOption(option)) === valeurDom;
118
+ });
119
+ /* Write back the DECLARED value — see the note above. The raw DOM string
120
+ * is the fallback, not the norm. */
121
+ void setFieldValue(name, correspondante === undefined ? valeurDom : valeurOption(correspondante));
122
+ void setFieldTouched(name, true, false);
123
+ };
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, label !== undefined ? {
125
+ label: label
126
+ } : {}), {}, {
127
+ error: hasError ? meta.error : null,
128
+ hint: !hasError ? hint : undefined,
129
+ group: true
130
+ }, required !== undefined ? {
131
+ required: required
132
+ } : {}), disabled !== undefined ? {
133
+ disabled: disabled
134
+ } : {}), {}, {
135
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Radio.RadioGroup, _objectSpread(_objectSpread({
136
+ name: name,
137
+ value: selection,
138
+ options: options,
139
+ onChange: handleChange
140
+ }, row !== undefined ? {
141
+ row: row
142
+ } : {}), disabled !== undefined ? {
143
+ disabled: disabled
144
+ } : {}))
145
+ }));
146
+ };
147
+ var _default = exports["default"] = FormikRadioGroup;
148
+ //# sourceMappingURL=FormikRadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikRadioGroup.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Radio","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","valeurOption","option","FormikRadioGroup","_ref","label","_ref$options","options","required","disabled","row","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","selection","handleChange","_event","valeurDom","correspondante","find","jsx","group","children","RadioGroup","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikRadioGroup.tsx"],"sourcesContent":["/**\r\n * FormikRadioGroup — bridge between Formik state and v2.Field +\r\n * v2.RadioGroup.\r\n *\r\n * ── WHY (gap G-C) ────────────────────────────────────────────────────\r\n *\r\n * R-Sel.2 is a MUST: 2–3 options → Radio or Segmented, never a Select. So any\r\n * form with a two-way business question has to reach for `RadioGroup` — and\r\n * until now there was no Formik bridge for it, while `FormikCheckboxGroup`,\r\n * `FormikSelect`, `FormikCombobox`, `FormikDatePicker`, `FormikTextarea`,\r\n * `FormikFile` and `FormikInput` all exist. Every host therefore re-wired\r\n * `useField` + `RadioGroup` by hand, which is the duplication R-2.1 forbids\r\n * and, worse, the shape in which validation messages go missing: a hand-rolled\r\n * bridge renders the control but forgets `FieldError`.\r\n *\r\n * Reported from refonte-frontend (lot 5), where ONE form carried two such\r\n * groups (`usageHorsMetrologique`, `certificat`).\r\n *\r\n * ── THE VALUE IS WRITTEN BACK AS DECLARED, NOT AS THE DOM SAW IT ─────\r\n *\r\n * This is the contract that matters, and it is invisible.\r\n *\r\n * A native `<input type=\"radio\">` only ever reports a STRING. A host whose\r\n * options are numbers — `{ value: 1 }`, `{ value: 2 }` — and whose payload\r\n * declares a number would silently start sending `\"1\"` after the user picks.\r\n * The API accepts it or rejects it days later; nothing in the UI tells anyone.\r\n *\r\n * So `onChange` matches the DOM string back against the option list and writes\r\n * the ORIGINAL option value. Numbers stay numbers, strings stay strings. Only\r\n * when no option matches (a host mutating its list mid-flight) does the raw DOM\r\n * string go through, because dropping the user's click would be worse.\r\n *\r\n * Symmetrically, the group's `value` is compared as a string, so a field\r\n * holding a boolean `false` selects the option declared `\"false\"`, and a field\r\n * holding the number `2` selects `{ value: 2 }`. The STORED value is never\r\n * coerced by this — only the comparison is.\r\n *\r\n * Usage:\r\n *\r\n * <FormikRadioGroup\r\n * name=\"importateur.certificat\"\r\n * label=\"Modèle déjà approuvé\"\r\n * required\r\n * row\r\n * options={[\r\n * { value: \"true\", label: \"Oui\" },\r\n * { value: \"false\", label: \"Non\" },\r\n * ]}\r\n * />\r\n *\r\n * ── ERRORS APPEAR ON PICK, NOT ON BLUR ──────────────────────────────\r\n *\r\n * A radio group has no meaningful blur-before-change: the first interaction IS\r\n * the answer. Waiting for a blur keeps a required-group message hidden while\r\n * the user clicks around. Picking marks the field touched — same rule as\r\n * `FormikCheckbox` and `FormikCheckboxGroup`.\r\n *\r\n * `required` is expressed on the FIELD, not on the options: `Field` renders the\r\n * asterisk on the group label and injects `aria-required`, which — unlike the\r\n * single-checkbox case — is valid on `role=\"radiogroup\"` and forwarded by\r\n * `RadioGroup`.\r\n *\r\n * Charter §03 · R-Sel.2, R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport { RadioGroup } from \"../components/Radio\";\r\nimport type { RadioGroupOption } from \"../components/Radio\";\r\n\r\nexport interface FormikRadioGroupProps {\r\n name: string;\r\n /** Group label — rendered by `Field` above the options. */\r\n label?: React.ReactNode | undefined;\r\n options?: RadioGroupOption[] | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /** Horizontal layout. Use only with short labels. */\r\n row?: boolean | undefined;\r\n}\r\n\r\n/** Declared value of an option, whatever its shape. */\r\nfunction valeurOption(option: RadioGroupOption): string | number {\r\n return typeof option === \"string\" ? option : option.value;\r\n}\r\n\r\nconst FormikRadioGroup = ({\r\n name,\r\n label,\r\n options = [],\r\n required,\r\n disabled,\r\n hint,\r\n row,\r\n}: FormikRadioGroupProps) => {\r\n const [field, meta] = useField(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n /* Comparison only — the stored value is left untouched. A field holding\r\n * boolean `false` therefore selects the option declared \"false\". */\r\n const selection =\r\n field.value === null || field.value === undefined\r\n ? \"\"\r\n : String(field.value);\r\n\r\n const handleChange = (\r\n _event: React.ChangeEvent<HTMLInputElement>,\r\n valeurDom: string\r\n ) => {\r\n const correspondante = options.find(\r\n (option) => String(valeurOption(option)) === valeurDom\r\n );\r\n /* Write back the DECLARED value — see the note above. The raw DOM string\r\n * is the fallback, not the norm. */\r\n void setFieldValue(\r\n name,\r\n correspondante === undefined ? valeurDom : valeurOption(correspondante)\r\n );\r\n void setFieldTouched(name, true, false);\r\n };\r\n\r\n return (\r\n <Field\r\n {...(label !== undefined ? { label } : {})}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n group\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <RadioGroup\r\n name={name}\r\n value={selection}\r\n options={options}\r\n onChange={handleChange}\r\n {...(row !== undefined ? { row } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikRadioGroup;\r\n"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,7 @@
20
20
  * />
21
21
  */
22
22
  import * as React from "react";
23
+ import type { FieldWidth } from "../components/Field";
23
24
  import type { SelectOptionValue, SelectProps } from "../components/Select";
24
25
  export interface FormikSelectProps<TOption = unknown> extends Omit<SelectProps, "value" | "onChange" | "onBlur" | "options" | "disabled" | "placeholder" | "label" | "required" | "error" | "ref"> {
25
26
  name: string;
@@ -54,8 +55,15 @@ export interface FormikSelectProps<TOption = unknown> extends Omit<SelectProps,
54
55
  mono?: boolean | undefined;
55
56
  placeholder?: string | undefined;
56
57
  htmlFor?: string | undefined;
58
+ /**
59
+ * Gabarit de largeur semantique (G-H). Sur un select, le gabarit se choisit
60
+ * d'apres la longueur des LIBELLES d'options, pas d'une contrainte de
61
+ * saisie : le standard range les « simple dropdowns » en `m` et les « long
62
+ * dropdowns » en `l`. Ne s'applique pas en mode `readOnly`.
63
+ */
64
+ width?: FieldWidth | undefined;
57
65
  onSelectionChange?: ((picked: TOption | null) => void) | undefined;
58
66
  }
59
- declare const FormikSelect: <TOption>({ name, label, required, hint, options, getOptionValue, getOptionLabel, loading, disabled, readOnly, mono, placeholder, htmlFor, onSelectionChange, ...rest }: FormikSelectProps<TOption>) => React.JSX.Element;
67
+ declare const FormikSelect: <TOption>({ name, label, required, hint, options, getOptionValue, getOptionLabel, loading, disabled, readOnly, mono, placeholder, htmlFor, width, onSelectionChange, ...rest }: FormikSelectProps<TOption>) => React.JSX.Element;
60
68
  export default FormikSelect;
61
69
  //# sourceMappingURL=FormikSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikSelect.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAsB9B,MAAM,WAAW,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAClD,SAAQ,IAAI,CACV,WAAW,EACT,OAAO,GACP,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,OAAO,GACP,UAAU,GACV,OAAO,GAKP,KAAK,CACR;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACnE,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACjE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACpE;AAED,QAAA,MAAM,YAAY,GAAI,OAAO,EAAG,+JAgB7B,iBAAiB,CAAC,OAAO,CAAC,sBAyE5B,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FormikSelect.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAsB9B,MAAM,WAAW,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAClD,SAAQ,IAAI,CACV,WAAW,EACT,OAAO,GACP,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,OAAO,GACP,UAAU,GACV,OAAO,GAKP,KAAK,CACR;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACnE,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACjE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACpE;AAED,QAAA,MAAM,YAAY,GAAI,OAAO,EAAG,sKAiB7B,iBAAiB,CAAC,OAAO,CAAC,sBA0E5B,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -10,7 +10,7 @@ var _Field = _interopRequireDefault(require("../components/Field"));
10
10
  var _Select = _interopRequireWildcard(require("../components/Select"));
11
11
  var _FormikDisplay = _interopRequireDefault(require("../components/FormikDisplay"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
- var _excluded = ["name", "label", "required", "hint", "options", "getOptionValue", "getOptionLabel", "loading", "disabled", "readOnly", "mono", "placeholder", "htmlFor", "onSelectionChange"];
13
+ var _excluded = ["name", "label", "required", "hint", "options", "getOptionValue", "getOptionLabel", "loading", "disabled", "readOnly", "mono", "placeholder", "htmlFor", "width", "onSelectionChange"];
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -87,6 +87,7 @@ var FormikSelect = function FormikSelect(_ref) {
87
87
  mono = _ref.mono,
88
88
  placeholder = _ref.placeholder,
89
89
  htmlFor = _ref.htmlFor,
90
+ width = _ref.width,
90
91
  onSelectionChange = _ref.onSelectionChange,
91
92
  rest = _objectWithoutProperties(_ref, _excluded);
92
93
  var _useField = (0, _formik.useField)(name),
@@ -141,7 +142,7 @@ var FormikSelect = function FormikSelect(_ref) {
141
142
  }
142
143
  }));
143
144
  }
144
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread({
145
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
145
146
  label: label,
146
147
  error: hasError ? meta.error : null,
147
148
  hint: !hasError ? hint : undefined,
@@ -149,6 +150,8 @@ var FormikSelect = function FormikSelect(_ref) {
149
150
  disabled: disabled
150
151
  }, required !== undefined ? {
151
152
  required: required
153
+ } : {}), width !== undefined ? {
154
+ width: width
152
155
  } : {}), {}, {
153
156
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select["default"], _objectSpread(_objectSpread({
154
157
  value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : "",
@@ -1 +1 @@
1
- {"version":3,"file":"FormikSelect.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Select","_FormikDisplay","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultGetOptionValue","opt","rec","defaultGetOptionLabel","FormikSelect","_ref","_field$value","label","required","_ref$options","options","_ref$getOptionValue","getOptionValue","_ref$getOptionLabel","getOptionLabel","_ref$loading","loading","_ref$disabled","disabled","_ref$readOnly","readOnly","mono","placeholder","htmlFor","onSelectionChange","rest","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","v2Options","map","raw","__raw","handleChange","e","found","find","picked","resolvedPlaceholder","jsx","format","match","sameOptionValue","labelFromValue","children","onChange","onBlur","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikSelect.tsx"],"sourcesContent":["/**\r\n * FormikSelect — bridge between Formik state and v2.Field + v2.Select.\r\n *\r\n * Charter §03 · R-Sel.1 → R-Sel.5. Peer dependency: formik >= 2.x.\r\n *\r\n * Use for short / medium option lists. For large referential lists that\r\n * need free-text filtering, prefer FormikCombobox, or pass `searchThreshold`\r\n * straight through to the underlying v2.Select.\r\n *\r\n * Maps caller-supplied raw options to v2.Select's {value, label} shape and\r\n * exposes onSelectionChange(rawOption) for consumers that need cross-field\r\n * side effects on pick.\r\n *\r\n * <FormikSelect\r\n * name=\"bureau\"\r\n * label=\"Bureau douanier\"\r\n * options={bureaux}\r\n * getOptionValue={(b) => b.id}\r\n * getOptionLabel={(b) => b.libelle}\r\n * />\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Select from \"../components/Select\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\nimport { labelFromValue, sameOptionValue } from \"../components/Select\";\r\nimport type {\r\n SelectOptionValue,\r\n SelectProps,\r\n SelectValue,\r\n SelectChangeLike,\r\n} from \"../components/Select\";\r\n\r\nfunction defaultGetOptionValue(opt: unknown): SelectOptionValue {\r\n if (opt == null || typeof opt !== \"object\") return opt as SelectOptionValue;\r\n const rec = opt as Record<string, unknown>;\r\n if (rec[\"value\"] !== undefined && rec[\"value\"] !== null) return rec[\"value\"] as SelectOptionValue;\r\n if (rec[\"id\"] !== undefined && rec[\"id\"] !== null) return rec[\"id\"] as SelectOptionValue;\r\n // Unreachable for well-formed options: an object exposing neither value nor\r\n // id can never be a valid Select value/key, so collapse to empty selection.\r\n return \"\";\r\n}\r\n\r\nfunction defaultGetOptionLabel(opt: unknown): string {\r\n if (opt == null) return \"\";\r\n if (typeof opt !== \"object\") return String(opt);\r\n const rec = opt as Record<string, unknown>;\r\n if (rec[\"description\"]) return String(rec[\"description\"]);\r\n if (rec[\"label\"]) return String(rec[\"label\"]);\r\n if (rec[\"code\"]) return String(rec[\"code\"]);\r\n return String(opt);\r\n}\r\n\r\nexport interface FormikSelectProps<TOption = unknown>\r\n extends Omit<\r\n SelectProps,\r\n | \"value\"\r\n | \"onChange\"\r\n | \"onBlur\"\r\n | \"options\"\r\n | \"disabled\"\r\n | \"placeholder\"\r\n | \"label\"\r\n | \"required\"\r\n | \"error\"\r\n // SelectProps carries its own loosely-typed `ref` (Ref<unknown>, likely\r\n // inherited from its underlying MUI base) that isn't the real ref for\r\n // this wrapper. Excluding it here stops it leaking into ...rest below\r\n // and colliding with <Select>'s real RefAttributes<HTMLInputElement>.\r\n | \"ref\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n options?: TOption[] | undefined;\r\n getOptionValue?: ((opt: TOption) => SelectOptionValue) | undefined;\r\n getOptionLabel?: ((opt: TOption) => React.ReactNode) | undefined;\r\n loading?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n /**\r\n * Render the RESOLVED OPTION LABEL as read-only text via FormikDisplay,\r\n * instead of a Select.\r\n *\r\n * Resolution matters here in a way it does not for FormikInput: the Formik\r\n * value is whatever `getOptionValue` produced — often a code, sometimes a\r\n * whole referentiel object — and printing it raw would show\r\n * \"DOMAIN_ACTIVITE_1\" where the user expects \"Domaine médical\". So the value is\r\n * matched back against `options` and `getOptionLabel` supplies the text.\r\n *\r\n * Matching goes through the same `sameOptionValue` the Select itself uses, so\r\n * a value seeded from an API payload still matches a separately-fetched\r\n * option (structural comparison, not reference identity). When nothing\r\n * matches, `labelFromValue` derives something readable from the value rather\r\n * than showing a code.\r\n *\r\n * `disabled` wins when both are passed — same rule as FormikInput.\r\n */\r\n readOnly?: boolean | undefined;\r\n /** Tabular-nums monospace in read-only mode. */\r\n mono?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n htmlFor?: string | undefined;\r\n onSelectionChange?: ((picked: TOption | null) => void) | undefined;\r\n}\r\n\r\nconst FormikSelect = <TOption,>({\r\n name,\r\n label,\r\n required,\r\n hint,\r\n options = [],\r\n getOptionValue = defaultGetOptionValue,\r\n getOptionLabel = defaultGetOptionLabel,\r\n loading = false,\r\n disabled = false,\r\n readOnly = false,\r\n mono,\r\n placeholder,\r\n htmlFor,\r\n onSelectionChange,\r\n ...rest\r\n}: FormikSelectProps<TOption>) => {\r\n const [field, meta] = useField<SelectValue>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const v2Options = options.map(\r\n (opt): string | { value: SelectOptionValue; label: React.ReactNode; __raw: TOption } => {\r\n const raw: unknown = opt;\r\n if (raw == null || typeof raw !== \"object\") return raw as string;\r\n return {\r\n value: getOptionValue(opt),\r\n label: getOptionLabel(opt),\r\n __raw: opt,\r\n };\r\n },\r\n );\r\n\r\n const handleChange = (e: SelectChangeLike) => {\r\n const next = e && e.target ? e.target.value : e;\r\n setFieldValue(name, next === \"\" ? null : next);\r\n setFieldTouched(name, true, false);\r\n if (typeof onSelectionChange === \"function\") {\r\n const found = v2Options.find(\r\n (o) => typeof o === \"object\" && o !== null && o.value === next,\r\n );\r\n const picked = found && typeof found === \"object\" ? found.__raw : null;\r\n onSelectionChange(picked);\r\n }\r\n };\r\n\r\n const resolvedPlaceholder = loading ? \"Chargement…\" : placeholder;\r\n\r\n /* Lecture seule : on résout le libellé de l'option avant de déléguer, sinon\r\n * FormikDisplay afficherait la VALEUR brute (un code, ou un objet dont il ne\r\n * lirait que `.description`). */\r\n if (readOnly && !disabled) {\r\n return (\r\n <FormikDisplay\r\n name={name}\r\n label={label}\r\n {...(hint !== undefined ? { hint } : {})}\r\n {...(mono !== undefined ? { mono } : {})}\r\n format={(raw) => {\r\n const match = options.find((opt) =>\r\n sameOptionValue(getOptionValue(opt), raw),\r\n );\r\n if (match !== undefined) return getOptionLabel(match);\r\n return labelFromValue(raw);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n disabled={disabled}\r\n {...(required !== undefined ? { required } : {})}\r\n >\r\n <Select\r\n value={field.value ?? \"\"}\r\n onChange={handleChange}\r\n onBlur={field.onBlur}\r\n options={v2Options}\r\n disabled={Boolean(disabled || loading)}\r\n {...rest}\r\n {...(resolvedPlaceholder !== undefined ? { placeholder: resolvedPlaceholder } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikSelect;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormikSelect.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Select","_FormikDisplay","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultGetOptionValue","opt","rec","defaultGetOptionLabel","FormikSelect","_ref","_field$value","label","required","_ref$options","options","_ref$getOptionValue","getOptionValue","_ref$getOptionLabel","getOptionLabel","_ref$loading","loading","_ref$disabled","disabled","_ref$readOnly","readOnly","mono","placeholder","htmlFor","width","onSelectionChange","rest","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","v2Options","map","raw","__raw","handleChange","e","found","find","picked","resolvedPlaceholder","jsx","format","match","sameOptionValue","labelFromValue","children","onChange","onBlur","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikSelect.tsx"],"sourcesContent":["/**\r\n * FormikSelect — bridge between Formik state and v2.Field + v2.Select.\r\n *\r\n * Charter §03 · R-Sel.1 → R-Sel.5. Peer dependency: formik >= 2.x.\r\n *\r\n * Use for short / medium option lists. For large referential lists that\r\n * need free-text filtering, prefer FormikCombobox, or pass `searchThreshold`\r\n * straight through to the underlying v2.Select.\r\n *\r\n * Maps caller-supplied raw options to v2.Select's {value, label} shape and\r\n * exposes onSelectionChange(rawOption) for consumers that need cross-field\r\n * side effects on pick.\r\n *\r\n * <FormikSelect\r\n * name=\"bureau\"\r\n * label=\"Bureau douanier\"\r\n * options={bureaux}\r\n * getOptionValue={(b) => b.id}\r\n * getOptionLabel={(b) => b.libelle}\r\n * />\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Select from \"../components/Select\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\nimport { labelFromValue, sameOptionValue } from \"../components/Select\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type {\r\n SelectOptionValue,\r\n SelectProps,\r\n SelectValue,\r\n SelectChangeLike,\r\n} from \"../components/Select\";\r\n\r\nfunction defaultGetOptionValue(opt: unknown): SelectOptionValue {\r\n if (opt == null || typeof opt !== \"object\") return opt as SelectOptionValue;\r\n const rec = opt as Record<string, unknown>;\r\n if (rec[\"value\"] !== undefined && rec[\"value\"] !== null) return rec[\"value\"] as SelectOptionValue;\r\n if (rec[\"id\"] !== undefined && rec[\"id\"] !== null) return rec[\"id\"] as SelectOptionValue;\r\n // Unreachable for well-formed options: an object exposing neither value nor\r\n // id can never be a valid Select value/key, so collapse to empty selection.\r\n return \"\";\r\n}\r\n\r\nfunction defaultGetOptionLabel(opt: unknown): string {\r\n if (opt == null) return \"\";\r\n if (typeof opt !== \"object\") return String(opt);\r\n const rec = opt as Record<string, unknown>;\r\n if (rec[\"description\"]) return String(rec[\"description\"]);\r\n if (rec[\"label\"]) return String(rec[\"label\"]);\r\n if (rec[\"code\"]) return String(rec[\"code\"]);\r\n return String(opt);\r\n}\r\n\r\nexport interface FormikSelectProps<TOption = unknown>\r\n extends Omit<\r\n SelectProps,\r\n | \"value\"\r\n | \"onChange\"\r\n | \"onBlur\"\r\n | \"options\"\r\n | \"disabled\"\r\n | \"placeholder\"\r\n | \"label\"\r\n | \"required\"\r\n | \"error\"\r\n // SelectProps carries its own loosely-typed `ref` (Ref<unknown>, likely\r\n // inherited from its underlying MUI base) that isn't the real ref for\r\n // this wrapper. Excluding it here stops it leaking into ...rest below\r\n // and colliding with <Select>'s real RefAttributes<HTMLInputElement>.\r\n | \"ref\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n options?: TOption[] | undefined;\r\n getOptionValue?: ((opt: TOption) => SelectOptionValue) | undefined;\r\n getOptionLabel?: ((opt: TOption) => React.ReactNode) | undefined;\r\n loading?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n /**\r\n * Render the RESOLVED OPTION LABEL as read-only text via FormikDisplay,\r\n * instead of a Select.\r\n *\r\n * Resolution matters here in a way it does not for FormikInput: the Formik\r\n * value is whatever `getOptionValue` produced — often a code, sometimes a\r\n * whole referentiel object — and printing it raw would show\r\n * \"DOMAIN_ACTIVITE_1\" where the user expects \"Domaine médical\". So the value is\r\n * matched back against `options` and `getOptionLabel` supplies the text.\r\n *\r\n * Matching goes through the same `sameOptionValue` the Select itself uses, so\r\n * a value seeded from an API payload still matches a separately-fetched\r\n * option (structural comparison, not reference identity). When nothing\r\n * matches, `labelFromValue` derives something readable from the value rather\r\n * than showing a code.\r\n *\r\n * `disabled` wins when both are passed — same rule as FormikInput.\r\n */\r\n readOnly?: boolean | undefined;\r\n /** Tabular-nums monospace in read-only mode. */\r\n mono?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n htmlFor?: string | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H). Sur un select, le gabarit se choisit\r\n * d'apres la longueur des LIBELLES d'options, pas d'une contrainte de\r\n * saisie : le standard range les « simple dropdowns » en `m` et les « long\r\n * dropdowns » en `l`. Ne s'applique pas en mode `readOnly`.\r\n */\r\n width?: FieldWidth | undefined;\r\n onSelectionChange?: ((picked: TOption | null) => void) | undefined;\r\n}\r\n\r\nconst FormikSelect = <TOption,>({\r\n name,\r\n label,\r\n required,\r\n hint,\r\n options = [],\r\n getOptionValue = defaultGetOptionValue,\r\n getOptionLabel = defaultGetOptionLabel,\r\n loading = false,\r\n disabled = false,\r\n readOnly = false,\r\n mono,\r\n placeholder,\r\n htmlFor,\r\n width,\r\n onSelectionChange,\r\n ...rest\r\n}: FormikSelectProps<TOption>) => {\r\n const [field, meta] = useField<SelectValue>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const v2Options = options.map(\r\n (opt): string | { value: SelectOptionValue; label: React.ReactNode; __raw: TOption } => {\r\n const raw: unknown = opt;\r\n if (raw == null || typeof raw !== \"object\") return raw as string;\r\n return {\r\n value: getOptionValue(opt),\r\n label: getOptionLabel(opt),\r\n __raw: opt,\r\n };\r\n },\r\n );\r\n\r\n const handleChange = (e: SelectChangeLike) => {\r\n const next = e && e.target ? e.target.value : e;\r\n setFieldValue(name, next === \"\" ? null : next);\r\n setFieldTouched(name, true, false);\r\n if (typeof onSelectionChange === \"function\") {\r\n const found = v2Options.find(\r\n (o) => typeof o === \"object\" && o !== null && o.value === next,\r\n );\r\n const picked = found && typeof found === \"object\" ? found.__raw : null;\r\n onSelectionChange(picked);\r\n }\r\n };\r\n\r\n const resolvedPlaceholder = loading ? \"Chargement…\" : placeholder;\r\n\r\n /* Lecture seule : on résout le libellé de l'option avant de déléguer, sinon\r\n * FormikDisplay afficherait la VALEUR brute (un code, ou un objet dont il ne\r\n * lirait que `.description`). */\r\n if (readOnly && !disabled) {\r\n return (\r\n <FormikDisplay\r\n name={name}\r\n label={label}\r\n {...(hint !== undefined ? { hint } : {})}\r\n {...(mono !== undefined ? { mono } : {})}\r\n format={(raw) => {\r\n const match = options.find((opt) =>\r\n sameOptionValue(getOptionValue(opt), raw),\r\n );\r\n if (match !== undefined) return getOptionLabel(match);\r\n return labelFromValue(raw);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n disabled={disabled}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Select\r\n value={field.value ?? \"\"}\r\n onChange={handleChange}\r\n onBlur={field.onBlur}\r\n options={v2Options}\r\n disabled={Boolean(disabled || loading)}\r\n {...rest}\r\n {...(resolvedPlaceholder !== undefined ? { placeholder: resolvedPlaceholder } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikSelect;\r\n"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,7 @@
17
17
  * Charter §03 / R-I.1 → R-I.6. Peer dependency: `formik` >= 2.x.
18
18
  */
19
19
  import * as React from "react";
20
+ import type { FieldWidth } from "../components/Field";
20
21
  import type { TextareaProps } from "../components/Textarea";
21
22
  export interface FormikTextareaProps extends Omit<TextareaProps, "name" | "value" | "onChange" | "onBlur" | "label" | "required" | "disabled" | "error"> {
22
23
  name: string;
@@ -25,7 +26,14 @@ export interface FormikTextareaProps extends Omit<TextareaProps, "name" | "value
25
26
  disabled?: boolean | undefined;
26
27
  htmlFor?: string | undefined;
27
28
  hint?: React.ReactNode | undefined;
29
+ /**
30
+ * Gabarit de largeur semantique (G-H). Sur une zone de texte, le standard
31
+ * range les descriptions et les editeurs en `xl` (pleine largeur du bloc) :
32
+ * c'est donc rarement autre chose, mais la prop existe pour les cas ou la
33
+ * zone est courte et bornee.
34
+ */
35
+ width?: FieldWidth | undefined;
28
36
  }
29
- declare const FormikTextarea: ({ name, label, required, rows, htmlFor, hint, disabled, ...rest }: FormikTextareaProps) => React.JSX.Element;
37
+ declare const FormikTextarea: ({ name, label, required, rows, htmlFor, hint, disabled, width, ...rest }: FormikTextareaProps) => React.JSX.Element;
30
38
  export default FormikTextarea;
31
39
  //# sourceMappingURL=FormikTextarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikTextarea.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikTextarea.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,aAAa,EACb,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CACvF;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACpC;AAED,QAAA,MAAM,cAAc,GAAI,mEASrB,mBAAmB,sBAuBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FormikTextarea.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikTextarea.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,aAAa,EACb,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CACvF;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC;AAED,QAAA,MAAM,cAAc,GAAI,0EAUrB,mBAAmB,sBAwBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -10,7 +10,7 @@ var _formik = require("formik");
10
10
  var _Field = _interopRequireDefault(require("../components/Field"));
11
11
  var _Textarea = _interopRequireDefault(require("../components/Textarea"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
- var _excluded = ["name", "label", "required", "rows", "htmlFor", "hint", "disabled"];
13
+ var _excluded = ["name", "label", "required", "rows", "htmlFor", "hint", "disabled", "width"];
14
14
  /**
15
15
  * FormikTextarea — bridge between Formik state and v2.Field + v2.Textarea.
16
16
  *
@@ -55,13 +55,14 @@ var FormikTextarea = function FormikTextarea(_ref) {
55
55
  htmlFor = _ref.htmlFor,
56
56
  hint = _ref.hint,
57
57
  disabled = _ref.disabled,
58
+ width = _ref.width,
58
59
  rest = _objectWithoutProperties(_ref, _excluded);
59
60
  var _useField = (0, _formik.useField)(name),
60
61
  _useField2 = _slicedToArray(_useField, 2),
61
62
  field = _useField2[0],
62
63
  meta = _useField2[1];
63
64
  var hasError = Boolean(meta.touched && meta.error);
64
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread({
65
66
  label: label,
66
67
  error: hasError ? meta.error : null,
67
68
  hint: !hasError ? hint : undefined,
@@ -70,6 +71,8 @@ var FormikTextarea = function FormikTextarea(_ref) {
70
71
  required: required
71
72
  } : {}), disabled !== undefined ? {
72
73
  disabled: disabled
74
+ } : {}), width !== undefined ? {
75
+ width: width
73
76
  } : {}), {}, {
74
77
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Textarea["default"], _objectSpread({
75
78
  name: field.name,
@@ -1 +1 @@
1
- {"version":3,"file":"FormikTextarea.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Textarea","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FormikTextarea","_ref","_field$value","label","required","_ref$rows","rows","htmlFor","disabled","rest","_useField","useField","_useField2","field","meta","hasError","Boolean","touched","error","jsx","children","onChange","onBlur","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikTextarea.tsx"],"sourcesContent":["/**\r\n * FormikTextarea — bridge between Formik state and v2.Field + v2.Textarea.\r\n *\r\n * Default rows = 4 (matches the legacy Pui multiline default\r\n * across ms-ti-fe / addpe-fe usage).\r\n *\r\n * Usage:\r\n *\r\n * import { FormikTextarea } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikTextarea\r\n * name=\"observation\"\r\n * label=\"Observations\"\r\n * rows={4}\r\n * />\r\n *\r\n * Charter §03 / R-I.1 → R-I.6. Peer dependency: `formik` >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Textarea from \"../components/Textarea\";\r\nimport type { TextareaProps } from \"../components/Textarea\";\r\n\r\nexport interface FormikTextareaProps\r\n extends Omit<\r\n TextareaProps,\r\n \"name\" | \"value\" | \"onChange\" | \"onBlur\" | \"label\" | \"required\" | \"disabled\" | \"error\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n}\r\n\r\nconst FormikTextarea = ({\r\n name,\r\n label,\r\n required,\r\n rows = 4,\r\n htmlFor,\r\n hint,\r\n disabled,\r\n ...rest\r\n}: FormikTextareaProps) => {\r\n const [field, meta] = useField<string>(name);\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <Textarea\r\n name={field.name}\r\n value={field.value ?? \"\"}\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n rows={rows}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikTextarea;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormikTextarea.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Textarea","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FormikTextarea","_ref","_field$value","label","required","_ref$rows","rows","htmlFor","disabled","width","rest","_useField","useField","_useField2","field","meta","hasError","Boolean","touched","error","jsx","children","onChange","onBlur","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikTextarea.tsx"],"sourcesContent":["/**\r\n * FormikTextarea — bridge between Formik state and v2.Field + v2.Textarea.\r\n *\r\n * Default rows = 4 (matches the legacy Pui multiline default\r\n * across ms-ti-fe / addpe-fe usage).\r\n *\r\n * Usage:\r\n *\r\n * import { FormikTextarea } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikTextarea\r\n * name=\"observation\"\r\n * label=\"Observations\"\r\n * rows={4}\r\n * />\r\n *\r\n * Charter §03 / R-I.1 → R-I.6. Peer dependency: `formik` >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Textarea from \"../components/Textarea\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type { TextareaProps } from \"../components/Textarea\";\r\n\r\nexport interface FormikTextareaProps\r\n extends Omit<\r\n TextareaProps,\r\n \"name\" | \"value\" | \"onChange\" | \"onBlur\" | \"label\" | \"required\" | \"disabled\" | \"error\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H). Sur une zone de texte, le standard\r\n * range les descriptions et les editeurs en `xl` (pleine largeur du bloc) :\r\n * c'est donc rarement autre chose, mais la prop existe pour les cas ou la\r\n * zone est courte et bornee.\r\n */\r\n width?: FieldWidth | undefined;\r\n}\r\n\r\nconst FormikTextarea = ({\r\n name,\r\n label,\r\n required,\r\n rows = 4,\r\n htmlFor,\r\n hint,\r\n disabled,\r\n width,\r\n ...rest\r\n}: FormikTextareaProps) => {\r\n const [field, meta] = useField<string>(name);\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Textarea\r\n name={field.name}\r\n value={field.value ?? \"\"}\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n rows={rows}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikTextarea;\r\n"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,20 @@ export interface KeyboardShortcutsHelpProps {
38
38
  shortcuts?: KeyboardShortcut[] | undefined;
39
39
  title?: React.ReactNode | undefined;
40
40
  labels?: KeyboardShortcutsHelpLabels | undefined;
41
+ /**
42
+ * Optional CONTROLLED open state. Omit for the original self-contained
43
+ * behaviour (the "?" listener owns the state).
44
+ *
45
+ * Added because the panel had no trigger but the keystroke. Hosts wired it
46
+ * correctly and users still reported the shortcuts "missing" — they are, in
47
+ * every practical sense, if the only affordance is a key you have to already
48
+ * know about. Charter §05.2 asks for DISCOVERABLE help, and a host cannot add
49
+ * a menu item or button without being able to open this.
50
+ */
51
+ open?: boolean | undefined;
52
+ /** Called with the requested next state, for both "?" and the close button. */
53
+ onOpenChange?: ((open: boolean) => void) | undefined;
41
54
  }
42
- declare function KeyboardShortcutsHelp({ shortcuts, title, labels, }: KeyboardShortcutsHelpProps): React.JSX.Element | null;
55
+ declare function KeyboardShortcutsHelp({ shortcuts, title, labels, open, onOpenChange, }: KeyboardShortcutsHelpProps): React.JSX.Element | null;
43
56
  export default KeyboardShortcutsHelp;
44
57
  //# sourceMappingURL=KeyboardShortcutsHelp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutsHelp.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/KeyboardShortcutsHelp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoF/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAClD;AAED,iBAAS,qBAAqB,CAAC,EAC7B,SAAc,EACd,KAA4B,EAC5B,MAAM,GACP,EAAE,0BAA0B,4BAgE5B;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"KeyboardShortcutsHelp.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/KeyboardShortcutsHelp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoF/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACjD;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD;AAED,iBAAS,qBAAqB,CAAC,EAC7B,SAAc,EACd,KAA4B,EAC5B,MAAM,EACN,IAAI,EACJ,YAAY,GACb,EAAE,0BAA0B,4BAsF5B;AAED,eAAe,qBAAqB,CAAC"}