diff --git a/demo/collections/HiddenFields.js b/demo/collections/HiddenFields.js new file mode 100644 index 0000000000..54940c2774 --- /dev/null +++ b/demo/collections/HiddenFields.js @@ -0,0 +1,31 @@ +const HiddenFields = { + slug: 'hidden-fields', + labels: { + singular: 'Hidden Fields', + plural: 'Hidden Fields', + }, + fields: [ + { + name: 'title', + type: 'text', + label: 'Title - Not Hidden', + required: true, + }, + { + name: 'hidden-admin', + type: 'text', + label: 'Hidden on Admin', + hidden: 'admin', + required: true, + }, + { + name: 'hidden-api', + type: 'text', + label: 'Hidden on API', + hidden: true, + required: true, // this should not matter + }, + ], +}; + +module.exports = HiddenFields; diff --git a/demo/payload.config.js b/demo/payload.config.js index c7e3f44dcd..5562228e4a 100644 --- a/demo/payload.config.js +++ b/demo/payload.config.js @@ -5,6 +5,7 @@ const Code = require('./collections/Code'); const CustomComponents = require('./collections/CustomComponents'); const File = require('./collections/File'); const FlexibleContent = require('./collections/FlexibleContent'); +const HiddenFields = require('./collections/HiddenFields'); const Hooks = require('./collections/Hooks'); const HTML = require('./collections/HTML'); const Localized = require('./collections/Localized'); @@ -32,6 +33,7 @@ module.exports = { CustomComponents, File, FlexibleContent, + HiddenFields, Hooks, HTML, Localized, diff --git a/src/client/components/elements/Button/index.js b/src/client/components/elements/Button/index.js index 7716d93bcc..dbc60a7931 100644 --- a/src/client/components/elements/Button/index.js +++ b/src/client/components/elements/Button/index.js @@ -26,13 +26,13 @@ ButtonContents.propTypes = { const Button = (props) => { const { - className, type, el, to, url, children, onClick, disabled, icon, + className, type, el, to, url, children, onClick, disabled, icon, buttonStyle, } = props; const classes = [ baseClass, className && className, - type && `${baseClass}--${type}`, + buttonStyle && `${baseClass}--${buttonStyle}`, icon && `${baseClass}--icon`, disabled && `${baseClass}--disabled`, ].filter(Boolean).join(' '); @@ -43,6 +43,7 @@ const Button = (props) => { } const buttonProps = { + type, className: classes, onClick: handleClick, }; @@ -75,7 +76,7 @@ const Button = (props) => { default: return ( diff --git a/src/client/components/icons/Plus/index.js b/src/client/components/icons/Plus/index.js index 5c15a853b7..97e2fb8ac5 100644 --- a/src/client/components/icons/Plus/index.js +++ b/src/client/components/icons/Plus/index.js @@ -5,6 +5,8 @@ import './index.scss'; const Plus = () => { return ( { y1="16.9175" x2="12.4589" y2="8.50115" + className="stroke" /> ); diff --git a/src/client/components/icons/Plus/index.scss b/src/client/components/icons/Plus/index.scss index 0861153157..7c5d70608a 100644 --- a/src/client/components/icons/Plus/index.scss +++ b/src/client/components/icons/Plus/index.scss @@ -1,7 +1,7 @@ @import '../../../scss/styles'; .icon--plus { - path { + .stroke { stroke: $color-dark-gray; stroke-width: $style-stroke-width-s; } diff --git a/src/client/components/icons/X/index.js b/src/client/components/icons/X/index.js index 5326857115..df7ee9227a 100644 --- a/src/client/components/icons/X/index.js +++ b/src/client/components/icons/X/index.js @@ -2,12 +2,12 @@ import React from 'react'; import './index.scss'; -const Close = () => { +const X = () => { return ( @@ -29,4 +29,4 @@ const Close = () => { ); }; -export default Close; +export default X; diff --git a/src/client/components/icons/X/index.scss b/src/client/components/icons/X/index.scss index 20f50b9589..fa0f76ff3a 100644 --- a/src/client/components/icons/X/index.scss +++ b/src/client/components/icons/X/index.scss @@ -1,6 +1,6 @@ @import '../../../scss/styles'; -.icon--close { +.icon--x { line { stroke: $color-dark-gray; stroke-width: $style-stroke-width-s; diff --git a/src/client/components/modals/StayLoggedIn/index.js b/src/client/components/modals/StayLoggedIn/index.js index e4bebc0ee8..5d7a2047ec 100644 --- a/src/client/components/modals/StayLoggedIn/index.js +++ b/src/client/components/modals/StayLoggedIn/index.js @@ -33,7 +33,7 @@ const StayLoggedInModal = (props) => { Stay logged in
)} { DefaultList.propTypes = { collection: PropTypes.shape({ labels: PropTypes.shape({ + singular: PropTypes.string, plural: PropTypes.string, }), slug: PropTypes.string, diff --git a/src/client/components/views/collections/List/index.scss b/src/client/components/views/collections/List/index.scss index a94f422379..614f81dadc 100644 --- a/src/client/components/views/collections/List/index.scss +++ b/src/client/components/views/collections/List/index.scss @@ -10,9 +10,10 @@ margin-bottom: $baseline; display: flex; align-items: flex-end; + flex-wrap: wrap; h1 { - margin: 0; + margin: 0 base(.75) 0 0; } a { @@ -20,9 +21,7 @@ } .pill { - margin-left: base(.75); - position: relative; - top: - base(.25); + margin: base(.5) 0 base(.25); } } @@ -35,7 +34,7 @@ &__header { .pill { - top: - base(.0625); + margin-bottom: base(.0625); } } diff --git a/src/client/scss/app.scss b/src/client/scss/app.scss index ff81cc1daa..2c2eca7359 100644 --- a/src/client/scss/app.scss +++ b/src/client/scss/app.scss @@ -76,7 +76,7 @@ h5 { } p { - margin: 0 0 base(.5); + margin: 0 0 $baseline; } ul { diff --git a/src/client/scss/vars.scss b/src/client/scss/vars.scss index 0e43769e23..99dbafa96e 100644 --- a/src/client/scss/vars.scss +++ b/src/client/scss/vars.scss @@ -36,7 +36,7 @@ $font-body : 'Suisse Intl'; $color-dark-gray : #333333; $color-gray : #9A9A9A; -$color-light-gray : #E7E7E7; +$color-light-gray : #DADADA; $color-background-gray : #F3F3F3; $color-red : #ff6f76; $color-yellow : #FDFFA4; diff --git a/src/fields/schemaMap.js b/src/fields/schemaMap.js index 3480dfb918..85053197d2 100644 --- a/src/fields/schemaMap.js +++ b/src/fields/schemaMap.js @@ -2,11 +2,10 @@ const { Schema } = require('mongoose'); const formatBaseSchema = (field) => { return { - hidden: field.hidden || false, hide: field.hidden === 'api' || field.hidden === true, localized: field.localized || false, unique: field.unique || false, - required: (field.required && !field.localized) || false, + required: (field.required && !field.localized && !field.hidden) || false, default: field.defaultValue || undefined, }; };