@measured/puck 0.17.0-canary.8959ff1 → 0.17.0-canary.9991c07

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -1637,6 +1637,7 @@ var DefaultField = ({
1637
1637
  className: getClassName6("input"),
1638
1638
  autoComplete: "off",
1639
1639
  type: field.type,
1640
+ title: label || name,
1640
1641
  name,
1641
1642
  value: typeof value === "undefined" ? "" : value.toString(),
1642
1643
  onChange: (e) => {
@@ -2051,6 +2052,19 @@ var ExternalField = ({
2051
2052
 
2052
2053
  // components/AutoField/fields/RadioField/index.tsx
2053
2054
  init_react_import();
2055
+
2056
+ // lib/safe-json-parse.ts
2057
+ init_react_import();
2058
+ var safeJsonParse = (str) => {
2059
+ try {
2060
+ const jsonValue = JSON.parse(str);
2061
+ return jsonValue;
2062
+ } catch (e) {
2063
+ return str;
2064
+ }
2065
+ };
2066
+
2067
+ // components/AutoField/fields/RadioField/index.tsx
2054
2068
  var import_jsx_runtime16 = require("react/jsx-runtime");
2055
2069
  var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
2056
2070
  var RadioField = ({
@@ -2085,13 +2099,7 @@ var RadioField = ({
2085
2099
  className: getClassName11("radioInput"),
2086
2100
  value: option.value,
2087
2101
  name,
2088
- onChange: (e) => {
2089
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
2090
- onChange(JSON.parse(e.currentTarget.value));
2091
- return;
2092
- }
2093
- onChange(e.currentTarget.value);
2094
- },
2102
+ onChange: ({ target: { value: value2 } }) => onChange(safeJsonParse(value2) || value2),
2095
2103
  disabled: readOnly,
2096
2104
  checked: value === option.value
2097
2105
  }
@@ -2132,15 +2140,10 @@ var SelectField = ({
2132
2140
  "select",
2133
2141
  {
2134
2142
  id,
2143
+ title: label || name,
2135
2144
  className: getClassName12("input"),
2136
2145
  disabled: readOnly,
2137
- onChange: (e) => {
2138
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
2139
- onChange(JSON.parse(e.currentTarget.value));
2140
- return;
2141
- }
2142
- onChange(e.currentTarget.value);
2143
- },
2146
+ onChange: ({ target: { value: value2 } }) => onChange(safeJsonParse(value2) || value2),
2144
2147
  value,
2145
2148
  children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2146
2149
  "option",
@@ -2385,7 +2388,18 @@ function AutoFieldInternal(props) {
2385
2388
  }
2386
2389
  const children = defaultFields[field.type](mergedProps);
2387
2390
  const Render2 = render[field.type];
2388
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameWrapper(), onFocus, onBlur, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children })) });
2391
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2392
+ "div",
2393
+ {
2394
+ className: getClassNameWrapper(),
2395
+ onFocus,
2396
+ onBlur,
2397
+ onClick: (e) => {
2398
+ e.stopPropagation();
2399
+ },
2400
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }))
2401
+ }
2402
+ );
2389
2403
  }
2390
2404
  function AutoFieldPrivate(props) {
2391
2405
  const { state } = useAppContext();
@@ -5919,6 +5933,11 @@ var usePuck = () => {
5919
5933
  getPermissions,
5920
5934
  refreshPermissions
5921
5935
  } = useAppContext();
5936
+ if (dispatch === defaultContext.dispatch) {
5937
+ throw new Error(
5938
+ "usePuck was used outside of the <Puck> component. The usePuck hook must be rendered within the <Puck> context as children, overrides or plugins as described in https://puckeditor.com/docs/api-reference/functions/use-puck."
5939
+ );
5940
+ }
5922
5941
  return {
5923
5942
  appState,
5924
5943
  config,
package/dist/index.mjs CHANGED
@@ -1449,6 +1449,7 @@ var DefaultField = ({
1449
1449
  className: getClassName6("input"),
1450
1450
  autoComplete: "off",
1451
1451
  type: field.type,
1452
+ title: label || name,
1452
1453
  name,
1453
1454
  value: typeof value === "undefined" ? "" : value.toString(),
1454
1455
  onChange: (e) => {
@@ -1869,6 +1870,19 @@ var ExternalField = ({
1869
1870
 
1870
1871
  // components/AutoField/fields/RadioField/index.tsx
1871
1872
  init_react_import();
1873
+
1874
+ // lib/safe-json-parse.ts
1875
+ init_react_import();
1876
+ var safeJsonParse = (str) => {
1877
+ try {
1878
+ const jsonValue = JSON.parse(str);
1879
+ return jsonValue;
1880
+ } catch (e) {
1881
+ return str;
1882
+ }
1883
+ };
1884
+
1885
+ // components/AutoField/fields/RadioField/index.tsx
1872
1886
  import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1873
1887
  var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
1874
1888
  var RadioField = ({
@@ -1903,13 +1917,7 @@ var RadioField = ({
1903
1917
  className: getClassName11("radioInput"),
1904
1918
  value: option.value,
1905
1919
  name,
1906
- onChange: (e) => {
1907
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
1908
- onChange(JSON.parse(e.currentTarget.value));
1909
- return;
1910
- }
1911
- onChange(e.currentTarget.value);
1912
- },
1920
+ onChange: ({ target: { value: value2 } }) => onChange(safeJsonParse(value2) || value2),
1913
1921
  disabled: readOnly,
1914
1922
  checked: value === option.value
1915
1923
  }
@@ -1950,15 +1958,10 @@ var SelectField = ({
1950
1958
  "select",
1951
1959
  {
1952
1960
  id,
1961
+ title: label || name,
1953
1962
  className: getClassName12("input"),
1954
1963
  disabled: readOnly,
1955
- onChange: (e) => {
1956
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
1957
- onChange(JSON.parse(e.currentTarget.value));
1958
- return;
1959
- }
1960
- onChange(e.currentTarget.value);
1961
- },
1964
+ onChange: ({ target: { value: value2 } }) => onChange(safeJsonParse(value2) || value2),
1962
1965
  value,
1963
1966
  children: field.options.map((option) => /* @__PURE__ */ jsx17(
1964
1967
  "option",
@@ -2203,7 +2206,18 @@ function AutoFieldInternal(props) {
2203
2206
  }
2204
2207
  const children = defaultFields[field.type](mergedProps);
2205
2208
  const Render2 = render[field.type];
2206
- return /* @__PURE__ */ jsx20("div", { className: getClassNameWrapper(), onFocus, onBlur, children: /* @__PURE__ */ jsx20(Render2, __spreadProps(__spreadValues({}, mergedProps), { children })) });
2209
+ return /* @__PURE__ */ jsx20(
2210
+ "div",
2211
+ {
2212
+ className: getClassNameWrapper(),
2213
+ onFocus,
2214
+ onBlur,
2215
+ onClick: (e) => {
2216
+ e.stopPropagation();
2217
+ },
2218
+ children: /* @__PURE__ */ jsx20(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }))
2219
+ }
2220
+ );
2207
2221
  }
2208
2222
  function AutoFieldPrivate(props) {
2209
2223
  const { state } = useAppContext();
@@ -5727,6 +5741,11 @@ var usePuck = () => {
5727
5741
  getPermissions,
5728
5742
  refreshPermissions
5729
5743
  } = useAppContext();
5744
+ if (dispatch === defaultContext.dispatch) {
5745
+ throw new Error(
5746
+ "usePuck was used outside of the <Puck> component. The usePuck hook must be rendered within the <Puck> context as children, overrides or plugins as described in https://puckeditor.com/docs/api-reference/functions/use-puck."
5747
+ );
5748
+ }
5730
5749
  return {
5731
5750
  appState,
5732
5751
  config,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measured/puck",
3
- "version": "0.17.0-canary.8959ff1",
3
+ "version": "0.17.0-canary.9991c07",
4
4
  "author": "Measured Corporation Ltd <hello@measured.co>",
5
5
  "repository": "measuredco/puck",
6
6
  "bugs": "https://github.com/measuredco/puck/issues",