@contember/react-block-repeater 2.0.0-alpha.5 → 2.0.0-alpha.8

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 (85) hide show
  1. package/api-extractor.json +3 -0
  2. package/dist/development/index.cjs +5 -5
  3. package/dist/development/index.js +5 -5
  4. package/dist/{production → development/src}/components/Block.cjs +7 -3
  5. package/dist/development/src/components/Block.cjs.map +1 -0
  6. package/dist/{production → development/src}/components/Block.js +7 -3
  7. package/dist/development/src/components/Block.js.map +1 -0
  8. package/dist/development/src/components/BlockRepeater.cjs +38 -0
  9. package/dist/development/src/components/BlockRepeater.cjs.map +1 -0
  10. package/dist/development/src/components/BlockRepeater.js +38 -0
  11. package/dist/development/src/components/BlockRepeater.js.map +1 -0
  12. package/dist/development/{components → src/components}/BlockRepeaterAddItemTrigger.cjs +8 -4
  13. package/dist/development/src/components/BlockRepeaterAddItemTrigger.cjs.map +1 -0
  14. package/dist/{production → development/src}/components/BlockRepeaterAddItemTrigger.js +6 -2
  15. package/dist/development/src/components/BlockRepeaterAddItemTrigger.js.map +1 -0
  16. package/dist/development/src/contexts.cjs.map +1 -0
  17. package/dist/development/src/contexts.js.map +1 -0
  18. package/dist/development/src/hooks/useBlockRepeaterCurrentBlock.cjs.map +1 -0
  19. package/dist/development/src/hooks/useBlockRepeaterCurrentBlock.js.map +1 -0
  20. package/dist/development/src/internal/helpers/staticAnalyzer.cjs.map +1 -0
  21. package/dist/development/src/internal/helpers/staticAnalyzer.js.map +1 -0
  22. package/dist/production/index.cjs +5 -5
  23. package/dist/production/index.js +5 -5
  24. package/dist/production/src/components/Block.cjs.map +1 -0
  25. package/dist/production/src/components/Block.js.map +1 -0
  26. package/dist/{development → production/src}/components/BlockRepeater.cjs +2 -2
  27. package/dist/production/src/components/BlockRepeater.cjs.map +1 -0
  28. package/dist/production/src/components/BlockRepeater.js.map +1 -0
  29. package/dist/production/{components → src/components}/BlockRepeaterAddItemTrigger.cjs +2 -2
  30. package/dist/production/src/components/BlockRepeaterAddItemTrigger.cjs.map +1 -0
  31. package/dist/production/src/components/BlockRepeaterAddItemTrigger.js.map +1 -0
  32. package/dist/production/src/contexts.cjs.map +1 -0
  33. package/dist/production/src/contexts.js.map +1 -0
  34. package/dist/production/src/hooks/useBlockRepeaterCurrentBlock.cjs.map +1 -0
  35. package/dist/production/src/hooks/useBlockRepeaterCurrentBlock.js.map +1 -0
  36. package/dist/production/src/internal/helpers/staticAnalyzer.cjs.map +1 -0
  37. package/dist/production/src/internal/helpers/staticAnalyzer.js.map +1 -0
  38. package/dist/types/contexts.d.ts +2 -2
  39. package/dist/types/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +8 -16
  41. package/src/components/BlockRepeater.tsx +3 -3
  42. package/tsconfig.json +7 -0
  43. package/tsdoc.json +6 -0
  44. package/dist/development/components/Block.cjs.map +0 -1
  45. package/dist/development/components/Block.js.map +0 -1
  46. package/dist/development/components/BlockRepeater.cjs.map +0 -1
  47. package/dist/development/components/BlockRepeater.js.map +0 -1
  48. package/dist/development/components/BlockRepeaterAddItemTrigger.cjs.map +0 -1
  49. package/dist/development/components/BlockRepeaterAddItemTrigger.js.map +0 -1
  50. package/dist/development/contexts.cjs.map +0 -1
  51. package/dist/development/contexts.js.map +0 -1
  52. package/dist/development/hooks/useBlockRepeaterCurrentBlock.cjs.map +0 -1
  53. package/dist/development/hooks/useBlockRepeaterCurrentBlock.js.map +0 -1
  54. package/dist/development/internal/helpers/staticAnalyzer.cjs.map +0 -1
  55. package/dist/development/internal/helpers/staticAnalyzer.js.map +0 -1
  56. package/dist/production/components/Block.cjs.map +0 -1
  57. package/dist/production/components/Block.js.map +0 -1
  58. package/dist/production/components/BlockRepeater.cjs +0 -22
  59. package/dist/production/components/BlockRepeater.cjs.map +0 -1
  60. package/dist/production/components/BlockRepeater.js +0 -22
  61. package/dist/production/components/BlockRepeater.js.map +0 -1
  62. package/dist/production/components/BlockRepeaterAddItemTrigger.cjs.map +0 -1
  63. package/dist/production/components/BlockRepeaterAddItemTrigger.js.map +0 -1
  64. package/dist/production/contexts.cjs.map +0 -1
  65. package/dist/production/contexts.js.map +0 -1
  66. package/dist/production/hooks/useBlockRepeaterCurrentBlock.cjs.map +0 -1
  67. package/dist/production/hooks/useBlockRepeaterCurrentBlock.js.map +0 -1
  68. package/dist/production/internal/helpers/staticAnalyzer.cjs.map +0 -1
  69. package/dist/production/internal/helpers/staticAnalyzer.js.map +0 -1
  70. /package/dist/development/{contexts.cjs → src/contexts.cjs} +0 -0
  71. /package/dist/development/{contexts.js → src/contexts.js} +0 -0
  72. /package/dist/development/{hooks → src/hooks}/useBlockRepeaterCurrentBlock.cjs +0 -0
  73. /package/dist/development/{hooks → src/hooks}/useBlockRepeaterCurrentBlock.js +0 -0
  74. /package/dist/development/{internal → src/internal}/helpers/staticAnalyzer.cjs +0 -0
  75. /package/dist/development/{internal → src/internal}/helpers/staticAnalyzer.js +0 -0
  76. /package/dist/{development → production/src}/components/Block.cjs +0 -0
  77. /package/dist/{development → production/src}/components/Block.js +0 -0
  78. /package/dist/{development → production/src}/components/BlockRepeater.js +0 -0
  79. /package/dist/{development → production/src}/components/BlockRepeaterAddItemTrigger.js +0 -0
  80. /package/dist/production/{contexts.cjs → src/contexts.cjs} +0 -0
  81. /package/dist/production/{contexts.js → src/contexts.js} +0 -0
  82. /package/dist/production/{hooks → src/hooks}/useBlockRepeaterCurrentBlock.cjs +0 -0
  83. /package/dist/production/{hooks → src/hooks}/useBlockRepeaterCurrentBlock.js +0 -0
  84. /package/dist/production/{internal → src/internal}/helpers/staticAnalyzer.cjs +0 -0
  85. /package/dist/production/{internal → src/internal}/helpers/staticAnalyzer.js +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contember/react-block-repeater",
3
3
  "license": "Apache-2.0",
4
- "version": "2.0.0-alpha.5",
4
+ "version": "2.0.0-alpha.8",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "./dist/production/index.js",
@@ -17,28 +17,21 @@
17
17
  "types": "./dist/types/index.d.ts",
18
18
  "development": "./dist/development/index.cjs",
19
19
  "production": "./dist/production/index.cjs",
20
+ "typescript": "./src/index.ts",
20
21
  "default": "./dist/production/index.cjs"
21
22
  }
22
23
  }
23
24
  },
24
- "files": [
25
- "dist/",
26
- "src/"
27
- ],
28
25
  "typings": "./dist/types/index.d.ts",
29
26
  "scripts": {
30
- "build": "yarn build:js:dev && yarn build:js:prod",
31
- "build:js:dev": "vite build --mode development",
32
- "build:js:prod": "vite build --mode production",
33
27
  "ae:build": "api-extractor run --local",
34
- "ae:test": "api-extractor run",
35
- "test": "vitest"
28
+ "ae:test": "api-extractor run"
36
29
  },
37
30
  "dependencies": {
38
- "@contember/react-binding": "2.0.0-alpha.5",
39
- "@contember/react-multipass-rendering": "2.0.0-alpha.5",
40
- "@contember/react-repeater": "2.0.0-alpha.5",
41
- "@contember/react-utils": "2.0.0-alpha.5",
31
+ "@contember/react-binding": "2.0.0-alpha.8",
32
+ "@contember/react-multipass-rendering": "2.0.0-alpha.8",
33
+ "@contember/react-repeater": "2.0.0-alpha.8",
34
+ "@contember/react-utils": "2.0.0-alpha.8",
42
35
  "@radix-ui/react-slot": "^1.0.2"
43
36
  },
44
37
  "peerDependencies": {
@@ -53,6 +46,5 @@
53
46
  "type": "git",
54
47
  "url": "https://github.com/contember/interface.git",
55
48
  "directory": "packages/react-block-repeater"
56
- },
57
- "stableVersion": "0.0.0"
49
+ }
58
50
  }
@@ -18,9 +18,9 @@ export const BlockRepeater = Component<BlockRepeaterProps>(({ children, ...props
18
18
  }
19
19
  return (
20
20
  <Repeater {...props} initialEntityCount={0}>
21
- <BlockRepeaterConfigContext.Provider value={{ discriminatedBy: props.discriminationField, blocks }}>
22
- {children}
23
- </BlockRepeaterConfigContext.Provider>
21
+ <BlockRepeaterConfigContext.Provider value={{ discriminatedBy: props.discriminationField, blocks }}>
22
+ {children}
23
+ </BlockRepeaterConfigContext.Provider>
24
24
  </Repeater>
25
25
  )
26
26
  }, props => {
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": [],
3
+ "include": [],
4
+ "references": [
5
+ { "path": "./src" },
6
+ ],
7
+ }
package/tsdoc.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
3
+ "extends": [
4
+ "../../tsdoc.json"
5
+ ]
6
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Block.cjs","sources":["../../../src/components/Block.tsx"],"sourcesContent":["import { BindingError, Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\n\nexport interface BlockProps {\n\tchildren: ReactNode\n\tname: string\n\tlabel?: ReactNode\n\tform?: ReactNode\n}\n\nexport const Block = Component<BlockProps>(props => {\n\tthrow new BindingError('\"Block\" component is not supposed to be rendered.')\n}, ({ label, children, form }) => {\n\treturn <>\n\t\t{label}\n\t\t{children}\n\t\t{form}\n\t</>\n})\n"],"names":["Component","BindingError","jsxs","Fragment"],"mappings":";;;;AAUa,MAAA,QAAQA,aAAAA,UAAsB,CAAS,UAAA;AAC7C,QAAA,IAAIC,aAAAA,aAAa,mDAAmD;AAC3E,GAAG,CAAC,EAAE,OAAO,UAAU,WAAW;AACjC,SACEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAA,CAAA;AACD,CAAC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Block.js","sources":["../../../src/components/Block.tsx"],"sourcesContent":["import { BindingError, Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\n\nexport interface BlockProps {\n\tchildren: ReactNode\n\tname: string\n\tlabel?: ReactNode\n\tform?: ReactNode\n}\n\nexport const Block = Component<BlockProps>(props => {\n\tthrow new BindingError('\"Block\" component is not supposed to be rendered.')\n}, ({ label, children, form }) => {\n\treturn <>\n\t\t{label}\n\t\t{children}\n\t\t{form}\n\t</>\n})\n"],"names":[],"mappings":";;AAUa,MAAA,QAAQ,UAAsB,CAAS,UAAA;AAC7C,QAAA,IAAI,aAAa,mDAAmD;AAC3E,GAAG,CAAC,EAAE,OAAO,UAAU,WAAW;AACjC,SACE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAA,CAAA;AACD,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeater.cjs","sources":["../../../src/components/BlockRepeater.tsx"],"sourcesContent":["import { Component, Field, SugaredRelativeSingleField } from '@contember/react-binding'\nimport { Repeater, RepeaterProps } from '@contember/react-repeater'\nimport { useState } from 'react'\nimport { extractBlocks } from '../internal/helpers/staticAnalyzer'\nimport { BlockRepeaterConfigContext } from '../contexts'\n\nexport type BlockRepeaterProps =\n\t& {\n\t\tsortableBy: RepeaterProps['sortableBy']\n\t\tdiscriminationField: SugaredRelativeSingleField['field']\n\t}\n\t& RepeaterProps\n\nexport const BlockRepeater = Component<BlockRepeaterProps>(({ children, ...props }, env) => {\n\tconst [blocks] = useState(() => extractBlocks(children, env))\n\tif (Object.keys(blocks).length === 0) {\n\t\tthrow new Error('BlockRepeater must have at least one Block child')\n\t}\n\treturn (\n\t\t<Repeater {...props} initialEntityCount={0}>\n\t\t\t\t<BlockRepeaterConfigContext.Provider value={{ discriminatedBy: props.discriminationField, blocks }}>\n\t\t\t\t\t{children}\n\t\t\t\t</BlockRepeaterConfigContext.Provider>\n\t\t</Repeater>\n\t)\n}, props => {\n\treturn (\n\t\t<Repeater {...props}>\n\t\t\t{props.children}\n\t\t\t<Field field={props.discriminationField} />\n\t\t</Repeater>\n\t)\n})\n"],"names":["Component","useState","extractBlocks","Repeater","BlockRepeaterConfigContext","jsxs","jsx","Field"],"mappings":";;;;;;;;AAaa,MAAA,gBAAgBA,uBAA8B,CAAC,EAAE,UAAU,GAAG,SAAS,QAAQ;AACrF,QAAA,CAAC,MAAM,IAAIC,MAAA,SAAS,MAAMC,eAAAA,cAAc,UAAU,GAAG,CAAC;AAC5D,MAAI,OAAO,KAAK,MAAM,EAAE,WAAW,GAAG;AAC/B,UAAA,IAAI,MAAM,kDAAkD;AAAA,EACnE;AACA,wCACEC,cAAU,UAAA,EAAA,GAAG,OAAO,oBAAoB,GACvC,yCAACC,SAA2B,2BAAA,UAA3B,EAAoC,OAAO,EAAE,iBAAiB,MAAM,qBAAqB,UACxF,UACF,EACF,CAAA;AAEF,GAAG,CAAS,UAAA;AAEV,SAAAC,2BAAA,KAACF,cAAU,UAAA,EAAA,GAAG,OACZ,UAAA;AAAA,IAAM,MAAA;AAAA,IACNG,2BAAAA,IAAAC,aAAAA,OAAA,EAAM,OAAO,MAAM,oBAAqB,CAAA;AAAA,EAC1C,EAAA,CAAA;AAEF,CAAC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeater.js","sources":["../../../src/components/BlockRepeater.tsx"],"sourcesContent":["import { Component, Field, SugaredRelativeSingleField } from '@contember/react-binding'\nimport { Repeater, RepeaterProps } from '@contember/react-repeater'\nimport { useState } from 'react'\nimport { extractBlocks } from '../internal/helpers/staticAnalyzer'\nimport { BlockRepeaterConfigContext } from '../contexts'\n\nexport type BlockRepeaterProps =\n\t& {\n\t\tsortableBy: RepeaterProps['sortableBy']\n\t\tdiscriminationField: SugaredRelativeSingleField['field']\n\t}\n\t& RepeaterProps\n\nexport const BlockRepeater = Component<BlockRepeaterProps>(({ children, ...props }, env) => {\n\tconst [blocks] = useState(() => extractBlocks(children, env))\n\tif (Object.keys(blocks).length === 0) {\n\t\tthrow new Error('BlockRepeater must have at least one Block child')\n\t}\n\treturn (\n\t\t<Repeater {...props} initialEntityCount={0}>\n\t\t\t\t<BlockRepeaterConfigContext.Provider value={{ discriminatedBy: props.discriminationField, blocks }}>\n\t\t\t\t\t{children}\n\t\t\t\t</BlockRepeaterConfigContext.Provider>\n\t\t</Repeater>\n\t)\n}, props => {\n\treturn (\n\t\t<Repeater {...props}>\n\t\t\t{props.children}\n\t\t\t<Field field={props.discriminationField} />\n\t\t</Repeater>\n\t)\n})\n"],"names":[],"mappings":";;;;;;AAaa,MAAA,gBAAgB,UAA8B,CAAC,EAAE,UAAU,GAAG,SAAS,QAAQ;AACrF,QAAA,CAAC,MAAM,IAAI,SAAS,MAAM,cAAc,UAAU,GAAG,CAAC;AAC5D,MAAI,OAAO,KAAK,MAAM,EAAE,WAAW,GAAG;AAC/B,UAAA,IAAI,MAAM,kDAAkD;AAAA,EACnE;AACA,6BACE,UAAU,EAAA,GAAG,OAAO,oBAAoB,GACvC,8BAAC,2BAA2B,UAA3B,EAAoC,OAAO,EAAE,iBAAiB,MAAM,qBAAqB,UACxF,UACF,EACF,CAAA;AAEF,GAAG,CAAS,UAAA;AAEV,SAAA,qBAAC,UAAU,EAAA,GAAG,OACZ,UAAA;AAAA,IAAM,MAAA;AAAA,IACN,oBAAA,OAAA,EAAM,OAAO,MAAM,oBAAqB,CAAA;AAAA,EAC1C,EAAA,CAAA;AAEF,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeaterAddItemTrigger.cjs","sources":["../../../src/components/BlockRepeaterAddItemTrigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { useBlockRepeaterConfig } from '../contexts'\nimport React, { ReactElement, useMemo } from 'react'\nimport { EntityAccessor } from '@contember/react-binding'\nimport { RepeaterAddItemIndex, useRepeaterMethods } from '@contember/react-repeater'\n\nexport interface BlockRepeaterAddItemTriggerProps {\n\tchildren: ReactElement\n\ttype: string\n\tindex?: RepeaterAddItemIndex\n\tpreprocess?: EntityAccessor.BatchUpdatesHandler\n}\n\nexport const BlockRepeaterAddItemTrigger = ({ preprocess, index, type, ...props }: BlockRepeaterAddItemTriggerProps) => {\n\tconst { discriminatedBy } = useBlockRepeaterConfig()\n\n\tconst { addItem } = useRepeaterMethods()\n\tconst onClick = useMemo(() => () => addItem?.(index, it => {\n\t\tit().getField(discriminatedBy).updateValue(type)\n\t}), [addItem, discriminatedBy, index, type])\n\n\treturn <Slot onClick={onClick} {...props} />\n}\n"],"names":["useBlockRepeaterConfig","useRepeaterMethods","useMemo","jsx","Slot"],"mappings":";;;;;;;AAaa,MAAA,8BAA8B,CAAC,EAAE,YAAY,OAAO,MAAM,GAAG,YAA8C;AACjH,QAAA,EAAE,oBAAoBA,SAAAA;AAEtB,QAAA,EAAE,YAAYC,cAAAA;AACpB,QAAM,UAAUC,MAAAA,QAAQ,MAAM,MAAM,UAAU,OAAO,CAAM,OAAA;AAC1D,OAAA,EAAK,SAAS,eAAe,EAAE,YAAY,IAAI;AAAA,EAAA,CAC/C,GAAG,CAAC,SAAS,iBAAiB,OAAO,IAAI,CAAC;AAE3C,SAAQC,2BAAAA,IAAAC,UAAAA,MAAA,EAAK,SAAmB,GAAG,MAAO,CAAA;AAC3C;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeaterAddItemTrigger.js","sources":["../../../src/components/BlockRepeaterAddItemTrigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { useBlockRepeaterConfig } from '../contexts'\nimport React, { ReactElement, useMemo } from 'react'\nimport { EntityAccessor } from '@contember/react-binding'\nimport { RepeaterAddItemIndex, useRepeaterMethods } from '@contember/react-repeater'\n\nexport interface BlockRepeaterAddItemTriggerProps {\n\tchildren: ReactElement\n\ttype: string\n\tindex?: RepeaterAddItemIndex\n\tpreprocess?: EntityAccessor.BatchUpdatesHandler\n}\n\nexport const BlockRepeaterAddItemTrigger = ({ preprocess, index, type, ...props }: BlockRepeaterAddItemTriggerProps) => {\n\tconst { discriminatedBy } = useBlockRepeaterConfig()\n\n\tconst { addItem } = useRepeaterMethods()\n\tconst onClick = useMemo(() => () => addItem?.(index, it => {\n\t\tit().getField(discriminatedBy).updateValue(type)\n\t}), [addItem, discriminatedBy, index, type])\n\n\treturn <Slot onClick={onClick} {...props} />\n}\n"],"names":[],"mappings":";;;;;AAaa,MAAA,8BAA8B,CAAC,EAAE,YAAY,OAAO,MAAM,GAAG,YAA8C;AACjH,QAAA,EAAE,oBAAoB;AAEtB,QAAA,EAAE,YAAY;AACpB,QAAM,UAAU,QAAQ,MAAM,MAAM,UAAU,OAAO,CAAM,OAAA;AAC1D,OAAA,EAAK,SAAS,eAAe,EAAE,YAAY,IAAI;AAAA,EAAA,CAC/C,GAAG,CAAC,SAAS,iBAAiB,OAAO,IAAI,CAAC;AAE3C,SAAQ,oBAAA,MAAA,EAAK,SAAmB,GAAG,MAAO,CAAA;AAC3C;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts.cjs","sources":["../../src/contexts.ts"],"sourcesContent":["import { SugaredRelativeSingleField } from '@contember/react-binding'\nimport { createRequiredContext } from '@contember/react-utils'\nimport { BlocksMap } from './types'\n\nconst BlockRepeaterConfigContext_ = createRequiredContext<{\n\tdiscriminatedBy: SugaredRelativeSingleField['field']\n\tblocks: BlocksMap\n}>('BlockRepeaterConfigContext')\n/** @internal */\nexport const BlockRepeaterConfigContext = BlockRepeaterConfigContext_[0]\nexport const useBlockRepeaterConfig = BlockRepeaterConfigContext_[1]\n"],"names":["createRequiredContext"],"mappings":";;;AAIA,MAAM,8BAA8BA,WAAAA,sBAGjC,4BAA4B;AAElB,MAAA,6BAA6B,4BAA4B,CAAC;AAC1D,MAAA,yBAAyB,4BAA4B,CAAC;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts.js","sources":["../../src/contexts.ts"],"sourcesContent":["import { SugaredRelativeSingleField } from '@contember/react-binding'\nimport { createRequiredContext } from '@contember/react-utils'\nimport { BlocksMap } from './types'\n\nconst BlockRepeaterConfigContext_ = createRequiredContext<{\n\tdiscriminatedBy: SugaredRelativeSingleField['field']\n\tblocks: BlocksMap\n}>('BlockRepeaterConfigContext')\n/** @internal */\nexport const BlockRepeaterConfigContext = BlockRepeaterConfigContext_[0]\nexport const useBlockRepeaterConfig = BlockRepeaterConfigContext_[1]\n"],"names":[],"mappings":";AAIA,MAAM,8BAA8B,sBAGjC,4BAA4B;AAElB,MAAA,6BAA6B,4BAA4B,CAAC;AAC1D,MAAA,yBAAyB,4BAA4B,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBlockRepeaterCurrentBlock.cjs","sources":["../../../src/hooks/useBlockRepeaterCurrentBlock.ts"],"sourcesContent":["import { useEntity } from '@contember/react-binding'\nimport { useBlockRepeaterConfig } from '../contexts'\n\nexport const useBlockRepeaterCurrentBlock = () => {\n\tconst entity = useEntity()\n\tconst { discriminatedBy, blocks } = useBlockRepeaterConfig()\n\tconst field = entity.getField<string>(discriminatedBy).value\n\treturn field ? blocks[field] : undefined\n}\n"],"names":["useEntity","useBlockRepeaterConfig"],"mappings":";;;;AAGO,MAAM,+BAA+B,MAAM;AACjD,QAAM,SAASA,aAAAA;AACf,QAAM,EAAE,iBAAiB,OAAO,IAAIC,SAAuB,uBAAA;AAC3D,QAAM,QAAQ,OAAO,SAAiB,eAAe,EAAE;AAChD,SAAA,QAAQ,OAAO,KAAK,IAAI;AAChC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBlockRepeaterCurrentBlock.js","sources":["../../../src/hooks/useBlockRepeaterCurrentBlock.ts"],"sourcesContent":["import { useEntity } from '@contember/react-binding'\nimport { useBlockRepeaterConfig } from '../contexts'\n\nexport const useBlockRepeaterCurrentBlock = () => {\n\tconst entity = useEntity()\n\tconst { discriminatedBy, blocks } = useBlockRepeaterConfig()\n\tconst field = entity.getField<string>(discriminatedBy).value\n\treturn field ? blocks[field] : undefined\n}\n"],"names":[],"mappings":";;AAGO,MAAM,+BAA+B,MAAM;AACjD,QAAM,SAAS;AACf,QAAM,EAAE,iBAAiB,OAAO,IAAI,uBAAuB;AAC3D,QAAM,QAAQ,OAAO,SAAiB,eAAe,EAAE;AAChD,SAAA,QAAQ,OAAO,KAAK,IAAI;AAChC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"staticAnalyzer.cjs","sources":["../../../../src/internal/helpers/staticAnalyzer.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { Block, BlockProps } from '../../components'\nimport { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\n\ntype BlocksMap = Record<string, BlockProps>\nexport const extractBlocks = (children: ReactNode, env: Environment): BlocksMap => {\n\tconst blocks = blockAnalyzer.processChildren(children, env)\n\treturn Object.fromEntries(blocks.map(block => [block.name, block]))\n}\n\nconst columnLeaf = new Leaf(node => node.props, Block)\n\nconst blockAnalyzer = new ChildrenAnalyzer<\n\tBlockProps,\n\tnever,\n\tEnvironment\n>([columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n\tunhandledNodeErrorMessage: 'Only Block children are supported.',\n})\n"],"names":["Leaf","Block","ChildrenAnalyzer"],"mappings":";;;;AAMa,MAAA,gBAAgB,CAAC,UAAqB,QAAgC;AAClF,QAAM,SAAS,cAAc,gBAAgB,UAAU,GAAG;AACnD,SAAA,OAAO,YAAY,OAAO,IAAI,CAAA,UAAS,CAAC,MAAM,MAAM,KAAK,CAAC,CAAC;AACnE;AAEA,MAAM,aAAa,IAAIA,wBAAAA,KAAK,CAAQ,SAAA,KAAK,OAAOC,MAAAA,KAAK;AAErD,MAAM,gBAAgB,IAAIC,wBAAAA,iBAIxB,CAAC,UAAU,GAAG;AAAA,EACf,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,2BAA2B;AAC5B,CAAC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"staticAnalyzer.js","sources":["../../../../src/internal/helpers/staticAnalyzer.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { Block, BlockProps } from '../../components'\nimport { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\n\ntype BlocksMap = Record<string, BlockProps>\nexport const extractBlocks = (children: ReactNode, env: Environment): BlocksMap => {\n\tconst blocks = blockAnalyzer.processChildren(children, env)\n\treturn Object.fromEntries(blocks.map(block => [block.name, block]))\n}\n\nconst columnLeaf = new Leaf(node => node.props, Block)\n\nconst blockAnalyzer = new ChildrenAnalyzer<\n\tBlockProps,\n\tnever,\n\tEnvironment\n>([columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n\tunhandledNodeErrorMessage: 'Only Block children are supported.',\n})\n"],"names":[],"mappings":";;AAMa,MAAA,gBAAgB,CAAC,UAAqB,QAAgC;AAClF,QAAM,SAAS,cAAc,gBAAgB,UAAU,GAAG;AACnD,SAAA,OAAO,YAAY,OAAO,IAAI,CAAA,UAAS,CAAC,MAAM,MAAM,KAAK,CAAC,CAAC;AACnE;AAEA,MAAM,aAAa,IAAI,KAAK,CAAQ,SAAA,KAAK,OAAO,KAAK;AAErD,MAAM,gBAAgB,IAAI,iBAIxB,CAAC,UAAU,GAAG;AAAA,EACf,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,2BAA2B;AAC5B,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Block.cjs","sources":["../../../src/components/Block.tsx"],"sourcesContent":["import { BindingError, Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\n\nexport interface BlockProps {\n\tchildren: ReactNode\n\tname: string\n\tlabel?: ReactNode\n\tform?: ReactNode\n}\n\nexport const Block = Component<BlockProps>(props => {\n\tthrow new BindingError('\"Block\" component is not supposed to be rendered.')\n}, ({ label, children, form }) => {\n\treturn <>\n\t\t{label}\n\t\t{children}\n\t\t{form}\n\t</>\n})\n"],"names":["Component","BindingError","jsxs","Fragment"],"mappings":";;;;AAUa,MAAA,QAAQA,aAAAA,UAAsB,CAAS,UAAA;AAC7C,QAAA,IAAIC,aAAAA,aAAa,mDAAmD;AAC3E,GAAG,CAAC,EAAE,OAAO,UAAU,WAAW;AACjC,SACEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAA,CAAA;AACD,CAAC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Block.js","sources":["../../../src/components/Block.tsx"],"sourcesContent":["import { BindingError, Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\n\nexport interface BlockProps {\n\tchildren: ReactNode\n\tname: string\n\tlabel?: ReactNode\n\tform?: ReactNode\n}\n\nexport const Block = Component<BlockProps>(props => {\n\tthrow new BindingError('\"Block\" component is not supposed to be rendered.')\n}, ({ label, children, form }) => {\n\treturn <>\n\t\t{label}\n\t\t{children}\n\t\t{form}\n\t</>\n})\n"],"names":[],"mappings":";;AAUa,MAAA,QAAQ,UAAsB,CAAS,UAAA;AAC7C,QAAA,IAAI,aAAa,mDAAmD;AAC3E,GAAG,CAAC,EAAE,OAAO,UAAU,WAAW;AACjC,SACE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAA,CAAA;AACD,CAAC;"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const reactBinding = require("@contember/react-binding");
5
- const reactRepeater = require("@contember/react-repeater");
6
- const react = require("react");
7
- const staticAnalyzer = require("../internal/helpers/staticAnalyzer.cjs");
8
- const contexts = require("../contexts.cjs");
9
- const BlockRepeater = reactBinding.Component(({ children, ...props }, env) => {
10
- const [blocks] = react.useState(() => staticAnalyzer.extractBlocks(children, env));
11
- if (Object.keys(blocks).length === 0) {
12
- throw new Error("BlockRepeater must have at least one Block child");
13
- }
14
- return /* @__PURE__ */ jsxRuntime.jsx(reactRepeater.Repeater, { ...props, initialEntityCount: 0, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BlockRepeaterConfigContext.Provider, { value: { discriminatedBy: props.discriminationField, blocks }, children }) });
15
- }, (props) => {
16
- return /* @__PURE__ */ jsxRuntime.jsxs(reactRepeater.Repeater, { ...props, children: [
17
- props.children,
18
- /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { field: props.discriminationField })
19
- ] });
20
- });
21
- exports.BlockRepeater = BlockRepeater;
22
- //# sourceMappingURL=BlockRepeater.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeater.cjs","sources":["../../../src/components/BlockRepeater.tsx"],"sourcesContent":["import { Component, Field, SugaredRelativeSingleField } from '@contember/react-binding'\nimport { Repeater, RepeaterProps } from '@contember/react-repeater'\nimport { useState } from 'react'\nimport { extractBlocks } from '../internal/helpers/staticAnalyzer'\nimport { BlockRepeaterConfigContext } from '../contexts'\n\nexport type BlockRepeaterProps =\n\t& {\n\t\tsortableBy: RepeaterProps['sortableBy']\n\t\tdiscriminationField: SugaredRelativeSingleField['field']\n\t}\n\t& RepeaterProps\n\nexport const BlockRepeater = Component<BlockRepeaterProps>(({ children, ...props }, env) => {\n\tconst [blocks] = useState(() => extractBlocks(children, env))\n\tif (Object.keys(blocks).length === 0) {\n\t\tthrow new Error('BlockRepeater must have at least one Block child')\n\t}\n\treturn (\n\t\t<Repeater {...props} initialEntityCount={0}>\n\t\t\t\t<BlockRepeaterConfigContext.Provider value={{ discriminatedBy: props.discriminationField, blocks }}>\n\t\t\t\t\t{children}\n\t\t\t\t</BlockRepeaterConfigContext.Provider>\n\t\t</Repeater>\n\t)\n}, props => {\n\treturn (\n\t\t<Repeater {...props}>\n\t\t\t{props.children}\n\t\t\t<Field field={props.discriminationField} />\n\t\t</Repeater>\n\t)\n})\n"],"names":["Component","useState","extractBlocks","Repeater","BlockRepeaterConfigContext","jsxs","jsx","Field"],"mappings":";;;;;;;;AAaa,MAAA,gBAAgBA,uBAA8B,CAAC,EAAE,UAAU,GAAG,SAAS,QAAQ;AACrF,QAAA,CAAC,MAAM,IAAIC,MAAA,SAAS,MAAMC,eAAAA,cAAc,UAAU,GAAG,CAAC;AAC5D,MAAI,OAAO,KAAK,MAAM,EAAE,WAAW,GAAG;AAC/B,UAAA,IAAI,MAAM,kDAAkD;AAAA,EACnE;AACA,wCACEC,cAAU,UAAA,EAAA,GAAG,OAAO,oBAAoB,GACvC,yCAACC,SAA2B,2BAAA,UAA3B,EAAoC,OAAO,EAAE,iBAAiB,MAAM,qBAAqB,UACxF,UACF,EACF,CAAA;AAEF,GAAG,CAAS,UAAA;AAEV,SAAAC,2BAAA,KAACF,cAAU,UAAA,EAAA,GAAG,OACZ,UAAA;AAAA,IAAM,MAAA;AAAA,IACNG,2BAAAA,IAAAC,aAAAA,OAAA,EAAM,OAAO,MAAM,oBAAqB,CAAA;AAAA,EAC1C,EAAA,CAAA;AAEF,CAAC;;"}
@@ -1,22 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Component, Field } from "@contember/react-binding";
3
- import { Repeater } from "@contember/react-repeater";
4
- import { useState } from "react";
5
- import { extractBlocks } from "../internal/helpers/staticAnalyzer.js";
6
- import { BlockRepeaterConfigContext } from "../contexts.js";
7
- const BlockRepeater = Component(({ children, ...props }, env) => {
8
- const [blocks] = useState(() => extractBlocks(children, env));
9
- if (Object.keys(blocks).length === 0) {
10
- throw new Error("BlockRepeater must have at least one Block child");
11
- }
12
- return /* @__PURE__ */ jsx(Repeater, { ...props, initialEntityCount: 0, children: /* @__PURE__ */ jsx(BlockRepeaterConfigContext.Provider, { value: { discriminatedBy: props.discriminationField, blocks }, children }) });
13
- }, (props) => {
14
- return /* @__PURE__ */ jsxs(Repeater, { ...props, children: [
15
- props.children,
16
- /* @__PURE__ */ jsx(Field, { field: props.discriminationField })
17
- ] });
18
- });
19
- export {
20
- BlockRepeater
21
- };
22
- //# sourceMappingURL=BlockRepeater.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeater.js","sources":["../../../src/components/BlockRepeater.tsx"],"sourcesContent":["import { Component, Field, SugaredRelativeSingleField } from '@contember/react-binding'\nimport { Repeater, RepeaterProps } from '@contember/react-repeater'\nimport { useState } from 'react'\nimport { extractBlocks } from '../internal/helpers/staticAnalyzer'\nimport { BlockRepeaterConfigContext } from '../contexts'\n\nexport type BlockRepeaterProps =\n\t& {\n\t\tsortableBy: RepeaterProps['sortableBy']\n\t\tdiscriminationField: SugaredRelativeSingleField['field']\n\t}\n\t& RepeaterProps\n\nexport const BlockRepeater = Component<BlockRepeaterProps>(({ children, ...props }, env) => {\n\tconst [blocks] = useState(() => extractBlocks(children, env))\n\tif (Object.keys(blocks).length === 0) {\n\t\tthrow new Error('BlockRepeater must have at least one Block child')\n\t}\n\treturn (\n\t\t<Repeater {...props} initialEntityCount={0}>\n\t\t\t\t<BlockRepeaterConfigContext.Provider value={{ discriminatedBy: props.discriminationField, blocks }}>\n\t\t\t\t\t{children}\n\t\t\t\t</BlockRepeaterConfigContext.Provider>\n\t\t</Repeater>\n\t)\n}, props => {\n\treturn (\n\t\t<Repeater {...props}>\n\t\t\t{props.children}\n\t\t\t<Field field={props.discriminationField} />\n\t\t</Repeater>\n\t)\n})\n"],"names":[],"mappings":";;;;;;AAaa,MAAA,gBAAgB,UAA8B,CAAC,EAAE,UAAU,GAAG,SAAS,QAAQ;AACrF,QAAA,CAAC,MAAM,IAAI,SAAS,MAAM,cAAc,UAAU,GAAG,CAAC;AAC5D,MAAI,OAAO,KAAK,MAAM,EAAE,WAAW,GAAG;AAC/B,UAAA,IAAI,MAAM,kDAAkD;AAAA,EACnE;AACA,6BACE,UAAU,EAAA,GAAG,OAAO,oBAAoB,GACvC,8BAAC,2BAA2B,UAA3B,EAAoC,OAAO,EAAE,iBAAiB,MAAM,qBAAqB,UACxF,UACF,EACF,CAAA;AAEF,GAAG,CAAS,UAAA;AAEV,SAAA,qBAAC,UAAU,EAAA,GAAG,OACZ,UAAA;AAAA,IAAM,MAAA;AAAA,IACN,oBAAA,OAAA,EAAM,OAAO,MAAM,oBAAqB,CAAA;AAAA,EAC1C,EAAA,CAAA;AAEF,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeaterAddItemTrigger.cjs","sources":["../../../src/components/BlockRepeaterAddItemTrigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { useBlockRepeaterConfig } from '../contexts'\nimport React, { ReactElement, useMemo } from 'react'\nimport { EntityAccessor } from '@contember/react-binding'\nimport { RepeaterAddItemIndex, useRepeaterMethods } from '@contember/react-repeater'\n\nexport interface BlockRepeaterAddItemTriggerProps {\n\tchildren: ReactElement\n\ttype: string\n\tindex?: RepeaterAddItemIndex\n\tpreprocess?: EntityAccessor.BatchUpdatesHandler\n}\n\nexport const BlockRepeaterAddItemTrigger = ({ preprocess, index, type, ...props }: BlockRepeaterAddItemTriggerProps) => {\n\tconst { discriminatedBy } = useBlockRepeaterConfig()\n\n\tconst { addItem } = useRepeaterMethods()\n\tconst onClick = useMemo(() => () => addItem?.(index, it => {\n\t\tit().getField(discriminatedBy).updateValue(type)\n\t}), [addItem, discriminatedBy, index, type])\n\n\treturn <Slot onClick={onClick} {...props} />\n}\n"],"names":["useBlockRepeaterConfig","useRepeaterMethods","useMemo","jsx","Slot"],"mappings":";;;;;;;AAaa,MAAA,8BAA8B,CAAC,EAAE,YAAY,OAAO,MAAM,GAAG,YAA8C;AACjH,QAAA,EAAE,oBAAoBA,SAAAA;AAEtB,QAAA,EAAE,YAAYC,cAAAA;AACpB,QAAM,UAAUC,MAAAA,QAAQ,MAAM,MAAM,UAAU,OAAO,CAAM,OAAA;AAC1D,OAAA,EAAK,SAAS,eAAe,EAAE,YAAY,IAAI;AAAA,EAAA,CAC/C,GAAG,CAAC,SAAS,iBAAiB,OAAO,IAAI,CAAC;AAE3C,SAAQC,2BAAAA,IAAAC,UAAAA,MAAA,EAAK,SAAmB,GAAG,MAAO,CAAA;AAC3C;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockRepeaterAddItemTrigger.js","sources":["../../../src/components/BlockRepeaterAddItemTrigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { useBlockRepeaterConfig } from '../contexts'\nimport React, { ReactElement, useMemo } from 'react'\nimport { EntityAccessor } from '@contember/react-binding'\nimport { RepeaterAddItemIndex, useRepeaterMethods } from '@contember/react-repeater'\n\nexport interface BlockRepeaterAddItemTriggerProps {\n\tchildren: ReactElement\n\ttype: string\n\tindex?: RepeaterAddItemIndex\n\tpreprocess?: EntityAccessor.BatchUpdatesHandler\n}\n\nexport const BlockRepeaterAddItemTrigger = ({ preprocess, index, type, ...props }: BlockRepeaterAddItemTriggerProps) => {\n\tconst { discriminatedBy } = useBlockRepeaterConfig()\n\n\tconst { addItem } = useRepeaterMethods()\n\tconst onClick = useMemo(() => () => addItem?.(index, it => {\n\t\tit().getField(discriminatedBy).updateValue(type)\n\t}), [addItem, discriminatedBy, index, type])\n\n\treturn <Slot onClick={onClick} {...props} />\n}\n"],"names":[],"mappings":";;;;;AAaa,MAAA,8BAA8B,CAAC,EAAE,YAAY,OAAO,MAAM,GAAG,YAA8C;AACjH,QAAA,EAAE,oBAAoB;AAEtB,QAAA,EAAE,YAAY;AACpB,QAAM,UAAU,QAAQ,MAAM,MAAM,UAAU,OAAO,CAAM,OAAA;AAC1D,OAAA,EAAK,SAAS,eAAe,EAAE,YAAY,IAAI;AAAA,EAAA,CAC/C,GAAG,CAAC,SAAS,iBAAiB,OAAO,IAAI,CAAC;AAE3C,SAAQ,oBAAA,MAAA,EAAK,SAAmB,GAAG,MAAO,CAAA;AAC3C;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts.cjs","sources":["../../src/contexts.ts"],"sourcesContent":["import { SugaredRelativeSingleField } from '@contember/react-binding'\nimport { createRequiredContext } from '@contember/react-utils'\nimport { BlocksMap } from './types'\n\nconst BlockRepeaterConfigContext_ = createRequiredContext<{\n\tdiscriminatedBy: SugaredRelativeSingleField['field']\n\tblocks: BlocksMap\n}>('BlockRepeaterConfigContext')\n/** @internal */\nexport const BlockRepeaterConfigContext = BlockRepeaterConfigContext_[0]\nexport const useBlockRepeaterConfig = BlockRepeaterConfigContext_[1]\n"],"names":["createRequiredContext"],"mappings":";;;AAIA,MAAM,8BAA8BA,WAAAA,sBAGjC,4BAA4B;AAElB,MAAA,6BAA6B,4BAA4B,CAAC;AAC1D,MAAA,yBAAyB,4BAA4B,CAAC;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts.js","sources":["../../src/contexts.ts"],"sourcesContent":["import { SugaredRelativeSingleField } from '@contember/react-binding'\nimport { createRequiredContext } from '@contember/react-utils'\nimport { BlocksMap } from './types'\n\nconst BlockRepeaterConfigContext_ = createRequiredContext<{\n\tdiscriminatedBy: SugaredRelativeSingleField['field']\n\tblocks: BlocksMap\n}>('BlockRepeaterConfigContext')\n/** @internal */\nexport const BlockRepeaterConfigContext = BlockRepeaterConfigContext_[0]\nexport const useBlockRepeaterConfig = BlockRepeaterConfigContext_[1]\n"],"names":[],"mappings":";AAIA,MAAM,8BAA8B,sBAGjC,4BAA4B;AAElB,MAAA,6BAA6B,4BAA4B,CAAC;AAC1D,MAAA,yBAAyB,4BAA4B,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBlockRepeaterCurrentBlock.cjs","sources":["../../../src/hooks/useBlockRepeaterCurrentBlock.ts"],"sourcesContent":["import { useEntity } from '@contember/react-binding'\nimport { useBlockRepeaterConfig } from '../contexts'\n\nexport const useBlockRepeaterCurrentBlock = () => {\n\tconst entity = useEntity()\n\tconst { discriminatedBy, blocks } = useBlockRepeaterConfig()\n\tconst field = entity.getField<string>(discriminatedBy).value\n\treturn field ? blocks[field] : undefined\n}\n"],"names":["useEntity","useBlockRepeaterConfig"],"mappings":";;;;AAGO,MAAM,+BAA+B,MAAM;AACjD,QAAM,SAASA,aAAAA;AACf,QAAM,EAAE,iBAAiB,OAAO,IAAIC,SAAuB,uBAAA;AAC3D,QAAM,QAAQ,OAAO,SAAiB,eAAe,EAAE;AAChD,SAAA,QAAQ,OAAO,KAAK,IAAI;AAChC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBlockRepeaterCurrentBlock.js","sources":["../../../src/hooks/useBlockRepeaterCurrentBlock.ts"],"sourcesContent":["import { useEntity } from '@contember/react-binding'\nimport { useBlockRepeaterConfig } from '../contexts'\n\nexport const useBlockRepeaterCurrentBlock = () => {\n\tconst entity = useEntity()\n\tconst { discriminatedBy, blocks } = useBlockRepeaterConfig()\n\tconst field = entity.getField<string>(discriminatedBy).value\n\treturn field ? blocks[field] : undefined\n}\n"],"names":[],"mappings":";;AAGO,MAAM,+BAA+B,MAAM;AACjD,QAAM,SAAS;AACf,QAAM,EAAE,iBAAiB,OAAO,IAAI,uBAAuB;AAC3D,QAAM,QAAQ,OAAO,SAAiB,eAAe,EAAE;AAChD,SAAA,QAAQ,OAAO,KAAK,IAAI;AAChC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"staticAnalyzer.cjs","sources":["../../../../src/internal/helpers/staticAnalyzer.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { Block, BlockProps } from '../../components'\nimport { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\n\ntype BlocksMap = Record<string, BlockProps>\nexport const extractBlocks = (children: ReactNode, env: Environment): BlocksMap => {\n\tconst blocks = blockAnalyzer.processChildren(children, env)\n\treturn Object.fromEntries(blocks.map(block => [block.name, block]))\n}\n\nconst columnLeaf = new Leaf(node => node.props, Block)\n\nconst blockAnalyzer = new ChildrenAnalyzer<\n\tBlockProps,\n\tnever,\n\tEnvironment\n>([columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n\tunhandledNodeErrorMessage: 'Only Block children are supported.',\n})\n"],"names":["Leaf","Block","ChildrenAnalyzer"],"mappings":";;;;AAMa,MAAA,gBAAgB,CAAC,UAAqB,QAAgC;AAClF,QAAM,SAAS,cAAc,gBAAgB,UAAU,GAAG;AACnD,SAAA,OAAO,YAAY,OAAO,IAAI,CAAA,UAAS,CAAC,MAAM,MAAM,KAAK,CAAC,CAAC;AACnE;AAEA,MAAM,aAAa,IAAIA,wBAAAA,KAAK,CAAQ,SAAA,KAAK,OAAOC,MAAAA,KAAK;AAErD,MAAM,gBAAgB,IAAIC,wBAAAA,iBAIxB,CAAC,UAAU,GAAG;AAAA,EACf,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,2BAA2B;AAC5B,CAAC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"staticAnalyzer.js","sources":["../../../../src/internal/helpers/staticAnalyzer.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { Block, BlockProps } from '../../components'\nimport { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\n\ntype BlocksMap = Record<string, BlockProps>\nexport const extractBlocks = (children: ReactNode, env: Environment): BlocksMap => {\n\tconst blocks = blockAnalyzer.processChildren(children, env)\n\treturn Object.fromEntries(blocks.map(block => [block.name, block]))\n}\n\nconst columnLeaf = new Leaf(node => node.props, Block)\n\nconst blockAnalyzer = new ChildrenAnalyzer<\n\tBlockProps,\n\tnever,\n\tEnvironment\n>([columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n\tunhandledNodeErrorMessage: 'Only Block children are supported.',\n})\n"],"names":[],"mappings":";;AAMa,MAAA,gBAAgB,CAAC,UAAqB,QAAgC;AAClF,QAAM,SAAS,cAAc,gBAAgB,UAAU,GAAG;AACnD,SAAA,OAAO,YAAY,OAAO,IAAI,CAAA,UAAS,CAAC,MAAM,MAAM,KAAK,CAAC,CAAC;AACnE;AAEA,MAAM,aAAa,IAAI,KAAK,CAAQ,SAAA,KAAK,OAAO,KAAK;AAErD,MAAM,gBAAgB,IAAI,iBAIxB,CAAC,UAAU,GAAG;AAAA,EACf,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,2BAA2B;AAC5B,CAAC;"}