@prismicio/types-internal 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +110 -0
  3. package/dist/customtypes/index.cjs +864 -0
  4. package/dist/customtypes/index.cjs.map +1 -0
  5. package/dist/customtypes/index.d.ts +18433 -0
  6. package/dist/customtypes/index.d.ts.map +1 -0
  7. package/dist/customtypes/index.js +864 -0
  8. package/dist/customtypes/index.js.map +1 -0
  9. package/dist/customtypes/widgets/index.cjs +735 -0
  10. package/dist/customtypes/widgets/index.cjs.map +1 -0
  11. package/dist/customtypes/widgets/index.d.ts +11697 -0
  12. package/dist/customtypes/widgets/index.d.ts.map +1 -0
  13. package/dist/customtypes/widgets/index.js +735 -0
  14. package/dist/customtypes/widgets/index.js.map +1 -0
  15. package/dist/customtypes/widgets/slices/index.cjs +671 -0
  16. package/dist/customtypes/widgets/slices/index.cjs.map +1 -0
  17. package/dist/customtypes/widgets/slices/index.d.ts +7079 -0
  18. package/dist/customtypes/widgets/slices/index.d.ts.map +1 -0
  19. package/dist/customtypes/widgets/slices/index.js +671 -0
  20. package/dist/customtypes/widgets/slices/index.js.map +1 -0
  21. package/dist/index.cjs +870 -0
  22. package/dist/index.cjs.map +1 -0
  23. package/dist/index.d.ts +18455 -0
  24. package/dist/index.js +844 -0
  25. package/dist/index.js.map +1 -0
  26. package/package.json +84 -0
  27. package/src/customtypes/CustomType.ts +142 -0
  28. package/src/customtypes/Format.ts +4 -0
  29. package/src/customtypes/Section.ts +25 -0
  30. package/src/customtypes/index.ts +4 -0
  31. package/src/customtypes/widgets/Group.ts +30 -0
  32. package/src/customtypes/widgets/UID.ts +27 -0
  33. package/src/customtypes/widgets/Widget.ts +33 -0
  34. package/src/customtypes/widgets/WidgetTypes.ts +24 -0
  35. package/src/customtypes/widgets/index.ts +7 -0
  36. package/src/customtypes/widgets/nestable/BooleanField.ts +30 -0
  37. package/src/customtypes/widgets/nestable/Color.ts +26 -0
  38. package/src/customtypes/widgets/nestable/Date.ts +27 -0
  39. package/src/customtypes/widgets/nestable/Embed.ts +27 -0
  40. package/src/customtypes/widgets/nestable/GeoPoint.ts +25 -0
  41. package/src/customtypes/widgets/nestable/Image.ts +40 -0
  42. package/src/customtypes/widgets/nestable/IntegrationField.ts +27 -0
  43. package/src/customtypes/widgets/nestable/Link.ts +85 -0
  44. package/src/customtypes/widgets/nestable/NestableWidget.ts +39 -0
  45. package/src/customtypes/widgets/nestable/Number.ts +30 -0
  46. package/src/customtypes/widgets/nestable/Range.ts +30 -0
  47. package/src/customtypes/widgets/nestable/RichText.ts +160 -0
  48. package/src/customtypes/widgets/nestable/Select.ts +32 -0
  49. package/src/customtypes/widgets/nestable/Separator.ts +24 -0
  50. package/src/customtypes/widgets/nestable/Text.ts +27 -0
  51. package/src/customtypes/widgets/nestable/Timestamp.ts +27 -0
  52. package/src/customtypes/widgets/nestable/index.ts +15 -0
  53. package/src/customtypes/widgets/shared/ImageConstraint.ts +39 -0
  54. package/src/customtypes/widgets/shared/index.ts +1 -0
  55. package/src/customtypes/widgets/slices/CompositeSlice.ts +32 -0
  56. package/src/customtypes/widgets/slices/LegacySlice.ts +15 -0
  57. package/src/customtypes/widgets/slices/SharedSlice.ts +44 -0
  58. package/src/customtypes/widgets/slices/SharedSliceRef.ts +12 -0
  59. package/src/customtypes/widgets/slices/Slice.ts +7 -0
  60. package/src/customtypes/widgets/slices/Slices.ts +100 -0
  61. package/src/customtypes/widgets/slices/SlicesTypes.ts +6 -0
  62. package/src/customtypes/widgets/slices/index.ts +7 -0
  63. package/src/index.ts +1 -0
  64. package/src/validators/IntFromNumber.ts +24 -0
  65. package/src/validators/IntFromPixels.ts +31 -0
  66. package/src/validators/StringFromBoolean.ts +21 -0
  67. package/src/validators/StringFromNumber.ts +21 -0
  68. package/src/validators/StringOrNull.ts +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/validators/StringOrNull.ts","../../../src/customtypes/widgets/WidgetTypes.ts","../../../src/customtypes/widgets/nestable/BooleanField.ts","../../../src/customtypes/widgets/nestable/Color.ts","../../../src/customtypes/widgets/nestable/Date.ts","../../../src/customtypes/widgets/nestable/GeoPoint.ts","../../../src/validators/IntFromNumber.ts","../../../src/validators/IntFromPixels.ts","../../../src/customtypes/widgets/shared/ImageConstraint.ts","../../../src/customtypes/widgets/nestable/Image.ts","../../../src/customtypes/widgets/nestable/IntegrationField.ts","../../../src/customtypes/widgets/nestable/Link.ts","../../../src/customtypes/widgets/nestable/Embed.ts","../../../src/customtypes/widgets/nestable/Number.ts","../../../src/customtypes/widgets/nestable/Range.ts","../../../src/customtypes/widgets/nestable/RichText.ts","../../../src/validators/StringFromBoolean.ts","../../../src/validators/StringFromNumber.ts","../../../src/customtypes/widgets/nestable/Select.ts","../../../src/customtypes/widgets/nestable/Separator.ts","../../../src/customtypes/widgets/nestable/Text.ts","../../../src/customtypes/widgets/nestable/Timestamp.ts","../../../src/customtypes/widgets/nestable/NestableWidget.ts","../../../src/customtypes/widgets/slices/SlicesTypes.ts","../../../src/customtypes/widgets/slices/CompositeSlice.ts","../../../src/customtypes/widgets/UID.ts","../../../src/customtypes/widgets/Group.ts","../../../src/customtypes/widgets/slices/LegacySlice.ts","../../../src/customtypes/widgets/slices/SharedSlice.ts","../../../src/customtypes/widgets/slices/SharedSliceRef.ts","../../../src/customtypes/Format.ts","../../../src/customtypes/widgets/slices/Slices.ts","../../../src/customtypes/widgets/Widget.ts"],"sourcesContent":["import * as t from 'io-ts'\n\nexport const StringOrNull = t.union([ t.string, t.null, t.undefined ])","enum WidgetTypes {\n Text = 'Text',\n RichText = 'StructuredText',\n Color = 'Color',\n Image = 'Image',\n Date = 'Date',\n Timestamp = 'Timestamp',\n Number = 'Number',\n Range = 'Range',\n Select = 'Select',\n Link = 'Link',\n Embed = 'Embed',\n GeoPoint = 'GeoPoint',\n Separator = 'Separator',\n UID = 'UID',\n BooleanField = 'Boolean',\n IntegrationField = 'IntegrationFields',\n Group = 'Group',\n Slices = 'Slices',\n // Legacy type for slices\n LegacySlices = 'Choice'\n}\n\nexport default WidgetTypes","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst BooleanConfig = t.exact(\n t.partial({\n label: StringOrNull,\n default_value: t.boolean,\n placeholder_true: t.string,\n placeholder_false: t.string\n })\n)\n\ntype BooleanConfig = t.TypeOf<typeof BooleanConfig>\n\nconst BooleanField = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.BooleanField)\n }),\n t.partial({\n config: BooleanConfig\n })\n ])\n)\n\ntype BooleanField = t.TypeOf<typeof BooleanField>\n\n\nexport default BooleanField","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst ColorConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n })\n)\ntype ColorConfig = t.TypeOf<typeof ColorConfig>\n\nconst Color = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Color)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: ColorConfig\n })\n ])\n)\ntype Color = t.TypeOf<typeof Color>\n\nexport default Color\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst DateConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n default: t.string\n })\n)\ntype DateConfig = t.TypeOf<typeof DateConfig>\n\nconst Date = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Date)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: DateConfig\n })\n ])\n)\ntype Date = t.TypeOf<typeof Date>\n\nexport default Date","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst GeoPointConfig = t.exact(\n t.partial({\n label: StringOrNull\n })\n)\ntype GeoPointConfig = t.TypeOf<typeof GeoPointConfig>\n\nconst GeoPoint = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.GeoPoint)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: GeoPointConfig\n })\n ])\n)\ntype GeoPoint = t.TypeOf<typeof GeoPoint>\n\nexport default GeoPoint"," import * as t from 'io-ts'\n import { pipe } from 'fp-ts/lib/pipeable'\n import { chain } from 'fp-ts/lib/Either'\n \n export interface IntFromNumberC extends t.Type<t.Int, number, unknown> {}\n \n /**\n * A codec that succeeds if a number can be parsed to an integer\n */\n export const IntFromNumber: IntFromNumberC = new t.Type<t.Int, number, unknown>(\n 'IntFromNumber',\n t.Int.is,\n (u, c) =>\n pipe(\n t.number.validate(u, c),\n chain(n => {\n if(t.Int.is(n)) return t.success(n)\n else {\n return t.success(Math.round(n) as t.Int)\n }\n })\n ),\n t.Int.encode\n )","import * as t from 'io-ts'\nimport { pipe } from 'fp-ts/lib/pipeable'\nimport { chain } from 'fp-ts/lib/Either'\n\nexport interface IntFromPixelsC extends t.Type<t.Int, string, unknown> {}\n\nconst PixelsRegex = /^([0-9]+)px$/\n/**\n * A codec that succeeds if a string representing pixels (eg: \"200px\") can be parsed to an integer\n */\nexport const IntFromPixels: IntFromPixelsC = new t.Type<t.Int, string, unknown>(\n 'IntFromPixels',\n t.Int.is,\n (u, c) =>\n pipe(\n t.string.validate(u, c),\n chain(strPixels => {\n try {\n const matched = strPixels.match(PixelsRegex)\n if(!matched) return t.failure(u, c)\n else {\n const parsed = parseInt(matched[1]) as t.Int\n return t.success(parsed)\n }\n } catch {\n return t.failure(u, c)\n }\n })\n ),\n String\n)","import * as t from 'io-ts'\nimport { either } from 'fp-ts/lib/Either'\nimport { IntFromString } from 'io-ts-types/lib/IntFromString'\n\nimport { IntFromNumber } from '../../../validators/IntFromNumber'\nimport { IntFromPixels } from '../../../validators/IntFromPixels'\n\nconst SideConstraint = new t.Type<number | null, any, unknown>(\n 'SideConstraints',\n (u: unknown): u is any => {\n return !u || typeof u === 'number'\n },\n (u: unknown, context: t.Context) => {\n return either.chain(\n t.union([\n t.literal('auto'),\n t.literal(''),\n t.Int,\n IntFromString,\n IntFromNumber,\n IntFromPixels,\n t.null\n ]).validate(u, context), (constraint) => {\n if(constraint === 'auto' || constraint === '') return t.success(null)\n return t.success(constraint)\n }\n )\n },\n res => res\n)\n\nconst ImageConstraint = t.partial({\n width: SideConstraint,\n height: SideConstraint\n})\n\ntype ImageConstraint = t.TypeOf<typeof ImageConstraint>\n\nexport default ImageConstraint\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\nimport ImageConstraint from '../shared/ImageConstraint'\n\nconst Thumbnail = t.exact(\n t.intersection([\n t.type({\n name: t.string\n }),\n ImageConstraint\n ])\n)\ntype Thumbnail = t.TypeOf<typeof Thumbnail>\n\nconst ImageConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n constraint: ImageConstraint,\n thumbnails: t.array(Thumbnail)\n })\n)\ntype ImageConfig = t.TypeOf<typeof ImageConfig>\n\n\nconst Image = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Image)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: ImageConfig\n })\n ])\n)\ntype Image = t.TypeOf<typeof Image>\n\nexport default Image\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst IntegrationFieldConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n catalog: t.string\n })\n)\ntype IntegrationFieldConfig = t.TypeOf<typeof IntegrationFieldConfig>\n\nconst IntegrationField = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.IntegrationField)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: IntegrationFieldConfig\n })\n ])\n)\ntype IntegrationField = t.TypeOf<typeof IntegrationField>\n\nexport default IntegrationField\n","import * as t from 'io-ts'\nimport { withFallback } from 'io-ts-types/lib/withFallback'\nimport { either } from 'fp-ts/lib/Either'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst arrayString = (entries: string | string[] | {\n [x: string]: {\n name: string;\n }[];\n} | null) => {\n if(entries instanceof Array) {\n const isValidEntries = entries.reduce((acc, l) => acc && typeof l === 'string', true) \n if(isValidEntries) return t.success(entries)\n }\n}\n\nconst plainString = (entries: string | string[] | {\n [x: string]: {\n name: string;\n }[];\n} | null) => {\n if(typeof entries === 'string') {\n return t.success([entries])\n }\n}\n\nconst MasksArrayString = new t.Type<Array<string>, object, unknown>(\n 'MasksArrayString',\n (u: unknown): u is any => {\n return u instanceof Array\n },\n (u: unknown, context: t.Context) => {\n return either.chain(\n t.union([\n t.array(t.string),\n t.string,\n ]).validate(u, context), (masks) => {\n return (\n arrayString(masks) ||\n plainString(masks) ||\n t.failure(u, context)\n )\n }\n )\n },\n res => res\n)\n\nconst LinkConfig = t.exact(\n t.partial({\n label: StringOrNull,\n useAsTitle: t.boolean,\n placeholder: t.string,\n select: withFallback(\n t.union([\n t.literal('media'),\n t.literal('document'),\n t.literal('web'),\n t.null\n ]),\n null\n ),\n customtypes: t.array(t.string), // `customtypes` and `masks` are alternatives\n masks: MasksArrayString,\n tags: MasksArrayString,\n allowTargetBlank: t.boolean\n })\n)\ntype LinkConfig = t.TypeOf<typeof LinkConfig>\n\nconst Link = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Link)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: LinkConfig\n })\n ])\n)\ntype Link = t.TypeOf<typeof Link>\n\nexport default Link\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst EmbedConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n useAsTitle: t.boolean\n })\n)\ntype EmbedConfig = t.TypeOf<typeof EmbedConfig>\n\nconst Embed = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Embed)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: EmbedConfig\n })\n ])\n)\ntype Embed = t.TypeOf<typeof Embed>\n\nexport default Embed","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\nimport { NumberFromString } from 'io-ts-types/lib/NumberFromString'\n\nconst NumberConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n min: t.union([t.number, NumberFromString]),\n max: t.union([t.number, NumberFromString]),\n step: t.union([t.number, NumberFromString])\n })\n)\ntype NumberConfig = t.TypeOf<typeof NumberConfig>\n\nconst Number = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Number)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: NumberConfig\n })\n ])\n)\ntype Number = t.TypeOf<typeof Number>\n\nexport default Number","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\nimport { NumberFromString } from 'io-ts-types/lib/NumberFromString'\n\nconst RangeConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n min: t.union([t.number, NumberFromString]),\n max: t.union([t.number, NumberFromString]),\n step: t.union([t.number, NumberFromString]),\n })\n)\ntype RangeConfig = t.TypeOf<typeof RangeConfig>\n\nconst Range = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Range)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: RangeConfig\n })\n ])\n)\ntype Range = t.TypeOf<typeof Range>\n\nexport default Range","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport { either } from 'fp-ts/lib/Either'\nimport WidgetTypes from '../WidgetTypes'\nimport ImageConstraint from '../shared/ImageConstraint'\n\nconst DEFAULT_OPTION = 'paragraph'\nconst options = [\n 'heading1',\n 'heading2',\n 'heading3',\n 'heading4',\n 'heading5',\n 'heading6',\n 'paragraph',\n 'strong',\n 'em',\n 'preformatted',\n 'hyperlink',\n 'image',\n 'embed',\n 'list-item',\n 'o-list-item',\n 'rtl'\n];\n\nconst RichTextOptions = new t.Type<string, string, unknown>(\n 'RichTextOptions',\n (u: unknown): u is string => typeof u === 'string',\n (u: unknown, context: t.Context) => {\n return either.chain(\n t.union([\n t.string,\n t.null\n ]).validate(u as unknown, context), (s: string | null) => {\n if(!s) return t.success(DEFAULT_OPTION)\n const entries = s.split(',').map((e: string) => e.trim())\n const filtered = entries.filter(entry => options.includes(entry))\n if(!filtered.length) return t.success(DEFAULT_OPTION)\n \n return t.success(filtered.join(','))\n }\n );\n },\n a => a\n)\n\n\nconst NoLabels = (labels: string | string[] | {\n [x: string]: {\n name: string;\n }[];\n} | null) => {\n if(!labels) return t.success([])\n}\n\nconst LabelsAsObject = (labels: string | string[] | {\n [x: string]: {\n name: string;\n }[];\n} | null) => {\n if(labels instanceof Object) {\n const labelsObj = labels as { [x: string]: { name: string }[] }\n \n // empty labels\n if(!Object.entries(labelsObj).length) return t.success([])\n \n // weird case labels with empty key as parent\n if(labelsObj['']) {\n return t.success(labelsObj[''].map(l => l.name))\n }\n\n const convertedObjectToArray = Object.entries(labelsObj)\n .reduce<ReadonlyArray<string>>((acc, [, labelsEntries]) => {\n return acc.concat(labelsEntries.map(l => l.name))\n }, [])\n .filter(Boolean)\n\n return t.success(convertedObjectToArray)\n }\n}\n\nconst LabelsAsArray = (labels: string | string[] | {\n [x: string]: {\n name: string;\n }[];\n} | null) => {\n if(labels instanceof Array) {\n const isValidLabels = labels.reduce((acc, l) => acc && typeof l === 'string', true) \n if(isValidLabels) return t.success(labels)\n }\n}\n\nconst LabelsAsString = (labels: string | string[] | {\n [x: string]: {\n name: string;\n }[];\n} | null) => {\n if(typeof labels === 'string') {\n return t.success([labels])\n }\n}\n\nconst RichTextLabels = new t.Type<Array<string>, object, unknown>(\n 'RichTextLabels',\n (u: unknown): u is any => {\n return u instanceof Array\n },\n (u: unknown, context: t.Context) => {\n const legacyValidator = t.record(t.string, t.array(t.record(t.literal(\"name\"), t.string)))\n const validator = t.array(t.string)\n\n return either.chain(\n t.union([\n legacyValidator,\n validator,\n t.string,\n t.null,\n ]).validate(u, context), (labels) => {\n return (\n NoLabels(labels) ||\n LabelsAsArray(labels) ||\n LabelsAsObject(labels) ||\n LabelsAsString(labels) ||\n t.failure(u, context)\n )\n }\n )\n },\n res => res\n)\n\nconst RichTextConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n useAsTitle: t.boolean,\n single: RichTextOptions,\n multi: RichTextOptions,\n imageConstraint: ImageConstraint,\n labels: RichTextLabels,\n allowTargetBlank: t.boolean\n })\n)\ntype RichTextConfig = t.TypeOf<typeof RichTextConfig>\n\nconst RichText = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.RichText)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: RichTextConfig\n })\n ])\n)\ntype RichText = t.TypeOf<typeof RichText>\n\nexport default RichText\n","import * as t from 'io-ts'\nimport { pipe } from 'fp-ts/lib/pipeable'\nimport { chain } from 'fp-ts/lib/Either'\n\nexport interface StringFromBooleanC extends t.Type<string, string, unknown> {}\n\n/**\n * A codec that validates a Boolean and convert it as a string\n */\nexport const StringFromBoolean: StringFromBooleanC = new t.Type<string, string, unknown>(\n 'StringFromInt',\n t.string.is,\n (u, c) =>\n pipe(\n t.boolean.validate(u, c),\n chain(i => {\n return t.success(i.toString())\n })\n ),\n i => i\n)","import * as t from 'io-ts'\nimport { pipe } from 'fp-ts/lib/pipeable'\nimport { chain } from 'fp-ts/lib/Either'\n\nexport interface StringFromNumberC extends t.Type<string, string, unknown> {}\n\n/**\n * A codec that validates a number and convert it as a string\n */\nexport const StringFromNumber: StringFromNumberC = new t.Type<string, string, unknown>(\n 'StringFromInt',\n t.string.is,\n (u, c) =>\n pipe(\n t.number.validate(u, c),\n chain(i => {\n return t.success(i.toString())\n })\n ),\n i => i\n)","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport { StringFromBoolean } from '../../../validators/StringFromBoolean'\nimport WidgetTypes from '../WidgetTypes'\n\nimport { StringFromNumber } from '../../../validators/StringFromNumber'\n\nconst SelectConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n default_value: t.string,\n options: t.array(t.union([t.string, StringFromNumber, StringFromBoolean]))\n })\n)\ntype SelectConfig = t.TypeOf<typeof SelectConfig>\n\nconst Select = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Select)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: SelectConfig\n })\n ])\n)\ntype Select = t.TypeOf<typeof Select>\n\nexport default Select\n\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst SeparatorConfig = t.exact(\n t.partial({\n label: StringOrNull\n })\n)\ntype SeparatorConfig = t.TypeOf<typeof SeparatorConfig>\n\nconst Separator = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Separator)\n }),\n t.partial({\n config: SeparatorConfig\n })\n ])\n)\ntype Separator = t.TypeOf<typeof Separator>\n\nexport default Separator\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst TextConfig = t.exact(\n t.partial({\n label: StringOrNull,\n useAsTitle: t.boolean,\n placeholder: t.string\n })\n)\ntype TextConfig = t.TypeOf<typeof TextConfig>\n\nconst Text = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Text)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: TextConfig\n })\n ])\n)\ntype Text = t.TypeOf<typeof Text>\n\nexport default Text\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\n\nconst TimestampConfig = t.exact(\n t.partial({\n label: StringOrNull,\n placeholder: t.string,\n default: t.string\n })\n)\ntype TimestampConfig = t.TypeOf<typeof TimestampConfig>\n\nconst Timestamp = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Timestamp)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: TimestampConfig\n })\n ])\n)\ntype Timestamp = t.TypeOf<typeof Timestamp>\n\nexport default Timestamp","import * as t from 'io-ts'\n\nimport Color from './Color'\nimport BooleanField from './BooleanField'\nimport Date from './Date'\nimport Embed from './Embed'\nimport GeoPoint from './GeoPoint'\nimport Number from './Number'\nimport Range from './Range'\nimport RichText from './RichText'\nimport Select from './Select'\nimport Separator from './Separator'\nimport Text from './Text'\nimport Timestamp from './Timestamp'\nimport Link from './Link'\nimport Image from './Image'\nimport IntegrationField from './IntegrationField'\n\nconst NestableWidget = t.union([\n Color,\n BooleanField,\n Embed,\n GeoPoint,\n Date,\n Number,\n Range,\n RichText,\n Select,\n Separator,\n Text,\n Timestamp,\n Link,\n Image,\n IntegrationField\n])\n\ntype NestableWidget = t.TypeOf<typeof NestableWidget>\n\nexport default NestableWidget","enum SlicesTypes {\n Slice = 'Slice',\n SharedSlice = 'SharedSlice'\n}\n\nexport default SlicesTypes","import * as t from 'io-ts'\n\nimport SlicesTypes from './SlicesTypes'\nimport NestableWidget from \"../nestable/NestableWidget\"\nimport { StringOrNull } from '../../../validators/StringOrNull'\n\nconst CompositeSliceConfig = t.exact(\n t.partial({\n label: StringOrNull\n })\n)\ntype CompositeSliceConfig = t.TypeOf<typeof CompositeSliceConfig>\n\nconst CompositeSlice = t.exact(\n t.intersection([\n t.type({\n type: t.literal(SlicesTypes.Slice)\n }),\n t.partial({\n fieldset: StringOrNull,\n description: t.string,\n icon: t.string,\n display: t.string,\n 'non-repeat': t.record(t.string, NestableWidget),\n repeat: t.record(t.string, NestableWidget),\n config: CompositeSliceConfig\n })\n ])\n)\ntype CompositeSlice = t.TypeOf<typeof CompositeSlice>\n\nexport default CompositeSlice","import * as t from 'io-ts'\nimport { StringOrNull } from '../../validators/StringOrNull'\nimport WidgetTypes from './WidgetTypes'\n\nconst UIDConfig = t.exact(\n t.partial({\n label: StringOrNull,\n useAsTitle: t.boolean,\n placeholder: t.string\n })\n)\ntype UIDConfig = t.TypeOf<typeof UIDConfig>\n\nconst UID = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.UID)\n }),\n t.partial({\n fieldset: StringOrNull,\n config: UIDConfig\n })\n ])\n)\ntype UID = t.TypeOf<typeof UID>\n\nexport default UID\n","import * as t from 'io-ts'\nimport { StringOrNull } from '../../validators/StringOrNull'\nimport WidgetTypes from './WidgetTypes'\nimport NestableWidget from './nestable/NestableWidget'\n\nconst GroupConfig = t.exact(\n t.partial({\n label: StringOrNull,\n repeat: t.boolean,\n fields: t.record(t.string, NestableWidget)\n })\n)\ntype GroupConfig = t.TypeOf<typeof GroupConfig>\n\nconst Group = t.exact(\n t.intersection([\n t.type({\n type: t.literal(WidgetTypes.Group)\n }),\n t.partial({\n fieldset: StringOrNull,\n icon: t.string,\n description: t.string,\n config: GroupConfig\n })\n ])\n)\ntype Group = t.TypeOf<typeof Group>\n\nexport default Group\n","import * as t from 'io-ts'\n\nimport UID from '../UID'\nimport NestableWidget from '../nestable/NestableWidget'\nimport Group from '../Group'\n\nconst LegacySlice = t.union([\n UID,\n NestableWidget,\n Group\n])\n\ntype LegacySlice = t.TypeOf<typeof LegacySlice>\n\nexport default LegacySlice","import * as t from 'io-ts'\nimport { withFallback } from 'io-ts-types/lib/withFallback'\nimport NestableWidget from '../nestable/NestableWidget'\nimport SlicesTypes from './SlicesTypes'\n\nconst IMAGE_PLACEHOLDER_URL = 'https://images.prismic.io/slice-machine/621a5ec4-0387-4bc5-9860-2dd46cbc07cd_default_ss.png?auto=compress,format'\n\nconst Variation = t.exact(\n t.intersection([\n t.type({\n id: t.string,\n name: t.string,\n description: t.string,\n imageUrl: withFallback(t.string, IMAGE_PLACEHOLDER_URL),\n docURL: t.string,\n version: t.string\n }),\n t.partial({\n display: t.string,\n primary: t.record(t.string, NestableWidget),\n items: t.record(t.string, NestableWidget)\n })\n ])\n)\n\ntype Variation = t.TypeOf<typeof Variation>\n\nconst SharedSlice = t.exact(\n t.intersection([\n t.type({\n id: t.string,\n type: t.literal(SlicesTypes.SharedSlice),\n name: t.string,\n variations: t.array(Variation)\n }),\n t.partial({\n description: t.string\n })\n ])\n)\n\ntype SharedSlice = t.TypeOf<typeof SharedSlice>\n\nexport default SharedSlice\n","import * as t from 'io-ts'\n\nimport SlicesTypes from './SlicesTypes'\n\nconst SharedSliceRef = t.exact(\n t.type({\n type: t.literal(SlicesTypes.SharedSlice)\n })\n)\ntype SharedSliceRef = t.TypeOf<typeof SharedSliceRef>\n\nexport default SharedSliceRef","export enum Format {\n Static = 'static',\n Dynamic = 'dynamic'\n}","import * as t from 'io-ts'\nimport { StringOrNull } from '../../../validators/StringOrNull'\nimport WidgetTypes from '../WidgetTypes'\nimport { Format } from '../../Format'\nimport LegacySlice from './LegacySlice'\nimport CompositeSlice from './CompositeSlice'\nimport SharedSliceRef from './SharedSliceRef'\nimport SharedSlice from './SharedSlice'\nimport SlicesTypes from './SlicesTypes'\n\nconst SlicesLabels = t.union([\n t.record(\n t.string,\n t.array(\n t.exact(\n t.intersection([\n t.type({\n name: t.string\n }),\n t.partial({\n display: t.string\n })\n ])\n )\n )\n ),\n t.null\n])\ntype SlicesLabels = t.TypeOf<typeof SlicesLabels>\n\nexport function slicesConfigReader<F extends Format>(format: F) {\n return t.exact(\n t.partial({\n label: StringOrNull,\n labels: SlicesLabels,\n choices: t.record(t.string, t.union([\n LegacySlice,\n CompositeSlice,\n (() => {\n switch(format) {\n case Format.Static: return SharedSlice\n case Format.Dynamic: return SharedSliceRef\n default: throw new Error(`Invalid Format Exception: ${format} doesn't exist`)\n }\n })()\n ]))\n })\n )\n}\nexport const StaticSlicesConfig = slicesConfigReader(Format.Static)\nexport type StaticSlicesConfig = t.TypeOf<typeof StaticSlicesConfig>\n\nexport const DynamicSlicesConfig = slicesConfigReader(Format.Dynamic)\nexport type DynamicSlicesConfig = t.TypeOf<typeof DynamicSlicesConfig>\n\nconst SlicesConfig = {\n toStatic(config: DynamicSlicesConfig, sharedSlices: Map<string, SharedSlice>): StaticSlicesConfig {\n const choices: {[key: string]: LegacySlice | CompositeSlice | SharedSlice } = Object.entries(config.choices || {})\n .reduce((acc, [ref, slice]) => {\n if(slice.type === SlicesTypes.SharedSlice) {\n const sharedSlice = sharedSlices.get(ref)\n if(sharedSlice) return { ...acc, [ref]: sharedSlice }\n else return acc\n } else {\n return { ...acc, [ref]: slice }\n }\n }, {})\n \n return { ...config, choices } as StaticSlicesConfig\n }\n}\n\nexport function slicesReader<F extends Format>(format: F) {\n return t.exact(\n t.intersection([\n t.type({\n type: t.union([t.literal(WidgetTypes.Slices), t.literal(WidgetTypes.LegacySlices)])\n }),\n t.partial({\n fieldset: StringOrNull,\n config: slicesConfigReader(format)\n })\n ])\n )\n}\n\nexport const StaticSlices = slicesReader(Format.Static)\nexport type StaticSlices = t.TypeOf<typeof StaticSlices>\n\nexport const DynamicSlices = slicesReader(Format.Dynamic)\nexport type DynamicSlices = t.TypeOf<typeof DynamicSlices>\n\nexport const Slices = {\n toStatic(slices: DynamicSlices, sharedSlices: Map<string, SharedSlice>): StaticSlices {\n if(!slices.config) return slices as StaticSlices\n else {\n return { ...slices, config: SlicesConfig.toStatic(slices.config, sharedSlices) }\n }\n }\n}\n","import * as t from 'io-ts'\n\nimport UID from './UID'\nimport NestableWidget from './nestable/NestableWidget'\nimport { slicesReader, Slices } from './slices/Slices'\nimport SharedSlice from './slices/SharedSlice'\nimport { Format } from '../Format'\nimport Group from './Group'\nimport WidgetTypes from './WidgetTypes'\n\nexport function widgetReader<F extends Format>(format: F){\n return t.union([\n UID,\n NestableWidget,\n Group,\n slicesReader(format)\n ])\n}\nexport const StaticWidget = widgetReader(Format.Static)\nexport type StaticWidget = t.TypeOf<typeof StaticWidget>\n\nexport const DynamicWidget = widgetReader(Format.Dynamic)\nexport type DynamicWidget = t.TypeOf<typeof DynamicWidget>\n\n\nexport const Widgets = {\n toStatic(widget: DynamicWidget, sharedSlices: Map<string, SharedSlice>): StaticWidget {\n switch(widget.type) {\n case WidgetTypes.Slices: return Slices.toStatic(widget, sharedSlices)\n default: return widget as StaticWidget\n }\n }\n}"],"names":["t","WidgetTypes","pipe","chain","either","IntFromString","withFallback","NumberFromString","SlicesTypes"],"mappings":"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"}