diff --git a/editor.planx.uk/src/@planx/components/List/Editor.tsx b/editor.planx.uk/src/@planx/components/List/Editor.tsx index 82b137d1b4..339c08ca9c 100644 --- a/editor.planx.uk/src/@planx/components/List/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/List/Editor.tsx @@ -18,6 +18,8 @@ import { EditorProps } from "../shared/types"; import { List, parseContent, validationSchema } from "./model"; import { ProposedAdvertisements } from "./schemas/Adverts"; import { ExistingBuildingsCIL } from "./schemas/CIL/ExistingCIL"; +import { MezzanineCIL } from "./schemas/CIL/MezzanineCIL"; +import { UnoccupiedBuildingsCIL } from "./schemas/CIL/UnoccupiedCIL"; import { NonResidentialFloorspace } from "./schemas/Floorspace"; import { BuildingDetailsGLA } from "./schemas/GLA/BuildingDetails"; import { CommunalSpaceGLA } from "./schemas/GLA/CommunalSpace"; @@ -71,6 +73,8 @@ export const SCHEMAS = [ { name: "Parking details", schema: Parking }, { name: "Parking details (GLA)", schema: ParkingGLA }, { name: "Existing buildings (CIL)", schema: ExistingBuildingsCIL }, + { name: "Unoccupied buildings (CIL)", schema: UnoccupiedBuildingsCIL }, + { name: "Mezzanine floors (CIL)", schema: MezzanineCIL }, { name: "Trees", schema: Trees }, { name: "Trees (Map first)", schema: TreesMapFirst }, ]; diff --git a/editor.planx.uk/src/@planx/components/List/schemas/CIL/ExistingCIL.ts b/editor.planx.uk/src/@planx/components/List/schemas/CIL/ExistingCIL.ts index b33d48ccb0..3f69e83302 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/CIL/ExistingCIL.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/CIL/ExistingCIL.ts @@ -17,7 +17,7 @@ export const ExistingBuildingsCIL: Schema = { data: { title: "How much of its floorspace will be retained?", units: "m²", - fn: "areaRetained", + fn: "area.retained", allowNegatives: false, }, }, @@ -35,7 +35,7 @@ export const ExistingBuildingsCIL: Schema = { data: { title: "How much of its floorspace will be lost?", units: "m²", - fn: "areaDemolished", + fn: "area.loss", allowNegatives: false, }, }, @@ -43,7 +43,7 @@ export const ExistingBuildingsCIL: Schema = { type: "question", data: { title: - "Has the building or part been lawfully occupied for 6 continuous months in the past 36 months (excluding temporarily lawful uses)?", + "Has the building or part been lawfully occupied for 6 continuous months in the past 36 months?", fn: "continuousOccupation", options: [ { id: "true", data: { text: "Yes", val: "true" } }, diff --git a/editor.planx.uk/src/@planx/components/List/schemas/CIL/MezzanineCIL.ts b/editor.planx.uk/src/@planx/components/List/schemas/CIL/MezzanineCIL.ts new file mode 100644 index 0000000000..3c216892d6 --- /dev/null +++ b/editor.planx.uk/src/@planx/components/List/schemas/CIL/MezzanineCIL.ts @@ -0,0 +1,27 @@ +import { Schema } from "@planx/components/shared/Schema/model"; +import { TextInputType } from "@planx/components/TextInput/model"; + +export const MezzanineCIL: Schema = { + type: "New mezzanine floor", + fields: [ + { + type: "text", + data: { + title: "Describe the use of the mezzanine", + fn: "description", + type: TextInputType.Short, + }, + }, + { + type: "number", + data: { + title: + "What will be the Gross Internal Floor Area (GIA) of the mezzanine?", + units: "m²", + fn: "area", + allowNegatives: false, + }, + }, + ], + min: 1, +} as const; diff --git a/editor.planx.uk/src/@planx/components/List/schemas/CIL/ProposedCIL.ts b/editor.planx.uk/src/@planx/components/List/schemas/CIL/ProposedCIL.ts deleted file mode 100644 index 09309033eb..0000000000 --- a/editor.planx.uk/src/@planx/components/List/schemas/CIL/ProposedCIL.ts +++ /dev/null @@ -1,209 +0,0 @@ -import { Schema } from "@planx/components/shared/Schema/model"; - -export const ProposedGrossInternalAreaCIL: Schema = { - type: "New development type", - fields: [ - { - type: "question", - data: { - title: "What best describes this development?", - fn: "type", - options: [ - { - id: "marketHousing", - data: { text: "Market housing", val: "marketHousing" }, - }, - { - id: "socialHousing", - data: { text: "Social or shared ownership housing", val: "LW" }, - }, - { - id: "otherResidential", - data: { - text: "Other residential development", - val: "otherResidential", - }, - }, - { - id: "nonResidential", - data: { - text: "Non-residential development", - val: "nonResidential", - }, - }, - ], - }, - }, - { - type: "number", - data: { - title: - "What is the Gross Internal Area (GIA) proposed by this development?", - units: "m²", - fn: "area", - allowNegatives: false, - }, - }, - { - type: "number", - data: { - title: "How many habitable rooms will this unit have?", - fn: "habitable", - allowNegatives: false, - }, - }, - { - type: "number", - data: { - title: "How many bedrooms will this unit have?", - fn: "bedrooms", - allowNegatives: false, - }, - }, - { - type: "question", - data: { - title: "What best describes the tenure of this unit?", - fn: "tenure", - options: [ - { id: "LAR", data: { text: "London Affordable Rent", val: "LAR" } }, - { - id: "AR", - data: { - text: "Affordable rent (not at LAR benchmark rents)", - val: "AR", - }, - }, - { id: "SR", data: { text: "Social rent", val: "SR" } }, - { id: "LRR", data: { text: "London Living Rent", val: "LRR" } }, - { - id: "sharedEquity", - data: { text: "Shared equity", val: "sharedEquity" }, - }, - { id: "LSO", data: { text: "London Shared Ownership", val: "LSO" } }, - { id: "DMS", data: { text: "Discount market sale", val: "DMS" } }, - { id: "DMR", data: { text: "Discount market rent", val: "DMR" } }, - { - id: "DMRLLR", - data: { - text: "Discount market rent (charged at London Living Rents)", - val: "DMRLLR", - }, - }, - { - id: "marketForRent", - data: { text: "Market for rent", val: "marketForRent" }, - }, - { id: "SH", data: { text: "Starter homes", val: "SH" } }, - { - id: "selfCustomBuild", - data: { - text: "Self-build and custom build", - val: "selfCustomBuild", - }, - }, - { - id: "marketForSale", - data: { text: "Market for sale", val: "marketForSale" }, - }, - { id: "other", data: { text: "Other", val: "other" } }, - ], - }, - }, - { - type: "question", - data: { - title: "What best describes the provider of this unit?", - fn: "provider", - options: [ - { id: "private", data: { text: "Private", val: "private" } }, - { - id: "privateRented", - data: { text: "Private rented sector", val: "privateRented" }, - }, - { id: "HA", data: { text: "Housing association", val: "HA" } }, - { id: "LA", data: { text: "Local authority", val: "LA" } }, - { - id: "publicAuthority", - data: { text: "Other public authority", val: "publicAuthority" }, - }, - { - id: "councilDelivery", - data: { text: "Council delivery company", val: "councilDelivery" }, - }, - { - id: "councilBuildToRent", - data: { - text: "Council delivered build to rent", - val: "councilBuildToRent", - }, - }, - { - id: "affordableHousing", - data: { - text: "Other affordable housing provider", - val: "affordableHousing", - }, - }, - { id: "selfBuild", data: { text: "Self-build", val: "selfBuild" } }, - ], - }, - }, - { - type: "checklist", - data: { - title: "Will this unit be compliant with any of the following?", - fn: "compliance", - options: [ - { - id: "m42", - data: { text: "Part M4(2) of the Building Regulations 2010" }, - }, - { - id: "m432a", - data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, - }, - { - id: "m432b", - data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, - }, - { id: "none", data: { text: "None of these" } }, - ], - }, - }, - { - type: "question", - data: { - title: "Will this unit be built on garden land?", - fn: "garden", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", - data: { - title: "Will this unit provide sheltered accommodation?", - fn: "sheltered", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", - data: { - title: "Is this unit specifically designed for older people?", - fn: "olderPersons", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - ], - min: 1, -} as const; diff --git a/editor.planx.uk/src/@planx/components/List/schemas/CIL/UnoccupiedCIL.ts b/editor.planx.uk/src/@planx/components/List/schemas/CIL/UnoccupiedCIL.ts new file mode 100644 index 0000000000..83126000b9 --- /dev/null +++ b/editor.planx.uk/src/@planx/components/List/schemas/CIL/UnoccupiedCIL.ts @@ -0,0 +1,44 @@ +import { Schema } from "@planx/components/shared/Schema/model"; +import { TextInputType } from "@planx/components/TextInput/model"; + +export const UnoccupiedBuildingsCIL: Schema = { + type: "Building not meant for occupation or temporarily permitted", + fields: [ + { + type: "text", + data: { + title: "Describe the existing building", + fn: "descriptionExisting", + type: TextInputType.Short, + }, + }, + { + type: "number", + data: { + title: "How much of its floorspace will be retained?", + units: "m²", + fn: "area.retained", + allowNegatives: false, + }, + }, + { + type: "text", + data: { + title: "What will the retained floorspace be used for?", + description: "This can be identical to its current use.", + fn: "descriptionProposed", + type: TextInputType.Short, + }, + }, + { + type: "number", + data: { + title: "How much of its floorspace will be lost?", + units: "m²", + fn: "area.loss", + allowNegatives: false, + }, + }, + ], + min: 1, +} as const;