| 1 |
import { __ } from '@wordpress/i18n'; |
| 2 |
import { |
| 3 |
generateTypographyAttributes, |
| 4 |
generateResponsiveRangeAttributes, |
| 5 |
generateDimensionsAttributes, |
| 6 |
generateBackgroundAttributes, |
| 7 |
generateBorderShadowAttributes, |
| 8 |
} from '../../../util/helpers' |
| 9 |
|
| 10 |
import { |
| 11 |
BOX_BACKGROUND, |
| 12 |
BOX_BORDER, |
| 13 |
BOX_MARGIN, |
| 14 |
BOX_PADDING, |
| 15 |
TITLE_MARGIN, |
| 16 |
COUNT_MARGIN, |
| 17 |
COLUMNS, |
| 18 |
ICON_AREA, |
| 19 |
ICON_SIZE, |
| 20 |
ICON_BACKGROUND, |
| 21 |
ICON_BORDER, |
| 22 |
ICON_MARGIN, |
| 23 |
ICON_PADDING, |
| 24 |
WRAPPER_MARGIN, |
| 25 |
CONTAINER_SECTION_MARGIN, |
| 26 |
CONTAINER_SECTION_PADDING, |
| 27 |
CONTAINER_SECTION_BACKGROUND, |
| 28 |
COLUMNS_LAYOUT_4, |
| 29 |
ICON_AREA_LAYOUT_4, |
| 30 |
ICON_SIZE_LAYOUT_4, |
| 31 |
BOX_MARGIN_LAYOUT_4, |
| 32 |
BOX_PADDING_LAYOUT_4, |
| 33 |
TITLE_MARGIN_LAYOUT_4, |
| 34 |
COUNT_MARGIN_LAYOUT_4, |
| 35 |
ICON_MARGIN_LAYOUT_4, |
| 36 |
ICON_PADDING_LAYOUT_4, |
| 37 |
WRAPPER_MARGIN_LAYOUT_4, |
| 38 |
BOX_BACKGROUND_LAYOUT_4, |
| 39 |
ICON_BACKGROUND_LAYOUT_4, |
| 40 |
BOX_BORDER_LAYOUT_4, |
| 41 |
ICON_BORDER_LAYOUT_4, |
| 42 |
CONTAINER_SECTION_MARGIN_LAYOUT_4, |
| 43 |
CONTAINER_SECTION_PADDING_LAYOUT_4, |
| 44 |
CONTAINER_SECTION_BACKGROUND_LAYOUT_4, |
| 45 |
LAST_UPDATED_BACKGROUND_COLOR_LAYOUT_4, |
| 46 |
LAST_UPDATED_PADDING, |
| 47 |
LAST_UPDATED_MARGIN, |
| 48 |
WRAPPER_PADDING, |
| 49 |
ICON_IMAGE_WIDTH_LAYOUT_4, |
| 50 |
ICON_IMAGE_HEIGHT_LAYOUT_4 |
| 51 |
} from './constants' |
| 52 |
import * as typoPrefixs from './typographyPrefixConstants' |
| 53 |
|
| 54 |
const attributes = { |
| 55 |
// the following 4 attributes is must required for responsive options and asset generation for frontend |
| 56 |
// responsive control attributes ⬇ |
| 57 |
resOption: { |
| 58 |
type: 'string', |
| 59 |
default: 'Desktop', |
| 60 |
}, |
| 61 |
// blockId attribute for making unique className and other uniqueness ⬇ |
| 62 |
blockId: { |
| 63 |
type: 'string', |
| 64 |
}, |
| 65 |
blockRoot: { |
| 66 |
type: 'string', |
| 67 |
default: 'better_docs', |
| 68 |
}, |
| 69 |
// blockMeta is for keeping all the styles ⬇ |
| 70 |
blockMeta: { |
| 71 |
type: 'object', |
| 72 |
}, |
| 73 |
selectKB: { |
| 74 |
type: 'string', |
| 75 |
default: null, |
| 76 |
}, |
| 77 |
includeCategories: { |
| 78 |
type: 'string', |
| 79 |
default: null, |
| 80 |
}, |
| 81 |
excludeCategories: { |
| 82 |
type: 'string', |
| 83 |
}, |
| 84 |
boxPerPage: { |
| 85 |
type: 'number', |
| 86 |
default: 9, |
| 87 |
}, |
| 88 |
orderBy: { |
| 89 |
type: 'string', |
| 90 |
default: 'doc_category_order', |
| 91 |
}, |
| 92 |
order: { |
| 93 |
type: 'string', |
| 94 |
default: 'asc', |
| 95 |
}, |
| 96 |
layout: { |
| 97 |
type: 'string', |
| 98 |
default: 'default', |
| 99 |
}, |
| 100 |
showIcon: { |
| 101 |
type: 'boolean', |
| 102 |
default: true, |
| 103 |
}, |
| 104 |
showLastUpdatedTime: { |
| 105 |
type: 'boolean', |
| 106 |
default: true, |
| 107 |
}, |
| 108 |
showTitle: { |
| 109 |
type: 'boolean', |
| 110 |
default: true, |
| 111 |
}, |
| 112 |
titleTag: { |
| 113 |
type: 'string', |
| 114 |
default: 'h2', |
| 115 |
}, |
| 116 |
showCount: { |
| 117 |
type: 'boolean', |
| 118 |
default: true, |
| 119 |
}, |
| 120 |
prefix: { |
| 121 |
type: 'string', |
| 122 |
}, |
| 123 |
suffix: { |
| 124 |
type: 'string', |
| 125 |
default: __('Docs', 'betterdocs'), |
| 126 |
}, |
| 127 |
suffixSingular: { |
| 128 |
type: 'string', |
| 129 |
default: __('Doc', 'betterdocs'), |
| 130 |
}, |
| 131 |
titleColor: { |
| 132 |
type: 'string', |
| 133 |
default: '#333333', |
| 134 |
}, |
| 135 |
titleColorLayout4:{ |
| 136 |
type: 'string', |
| 137 |
default: '#1D2939', |
| 138 |
}, |
| 139 |
titleHoverColor: { |
| 140 |
type: 'string', |
| 141 |
}, |
| 142 |
titleHoverColorLayout4:{ |
| 143 |
type:'string', |
| 144 |
}, |
| 145 |
countColor: { |
| 146 |
type: 'string', |
| 147 |
default: '#707070', |
| 148 |
}, |
| 149 |
countColorLayout4:{ |
| 150 |
type: 'string', |
| 151 |
default: '#475467', |
| 152 |
}, |
| 153 |
countHoverColor: { |
| 154 |
type: 'string', |
| 155 |
}, |
| 156 |
countHoverColorLayout4: { |
| 157 |
type: 'string', |
| 158 |
}, |
| 159 |
lastUpdatedTimeColor:{ |
| 160 |
type:'string', |
| 161 |
default:'#475467' |
| 162 |
}, |
| 163 |
lastUpdatedTimeHoverColor:{ |
| 164 |
type:'string', |
| 165 |
}, |
| 166 |
layout4Col:{ |
| 167 |
type:"number", |
| 168 |
default:4 |
| 169 |
}, |
| 170 |
// typography attributes |
| 171 |
...generateTypographyAttributes(Object.values(typoPrefixs)), |
| 172 |
// responsive range |
| 173 |
...generateResponsiveRangeAttributes(COLUMNS, { |
| 174 |
defaultRange: 3, |
| 175 |
noUnits: true, |
| 176 |
}), |
| 177 |
...generateResponsiveRangeAttributes(ICON_AREA, { |
| 178 |
defaultRange: 80, |
| 179 |
}), |
| 180 |
...generateResponsiveRangeAttributes(ICON_SIZE), |
| 181 |
// dimension |
| 182 |
...generateDimensionsAttributes(BOX_MARGIN), |
| 183 |
...generateDimensionsAttributes(BOX_PADDING), |
| 184 |
...generateDimensionsAttributes(TITLE_MARGIN), |
| 185 |
...generateDimensionsAttributes(COUNT_MARGIN), |
| 186 |
...generateDimensionsAttributes(ICON_MARGIN), |
| 187 |
...generateDimensionsAttributes(ICON_PADDING), |
| 188 |
...generateDimensionsAttributes(WRAPPER_MARGIN), |
| 189 |
...generateDimensionsAttributes(WRAPPER_PADDING), |
| 190 |
// background |
| 191 |
...generateBackgroundAttributes(BOX_BACKGROUND, { |
| 192 |
defaultFillColor: '#f8f8fc', |
| 193 |
noOverlay: true, |
| 194 |
}), |
| 195 |
...generateBackgroundAttributes(ICON_BACKGROUND, { |
| 196 |
noOverlay: true, |
| 197 |
noMainBgi: true, |
| 198 |
}), |
| 199 |
// border shadow attriubtes |
| 200 |
...generateBorderShadowAttributes(BOX_BORDER), |
| 201 |
...generateBorderShadowAttributes(ICON_BORDER, { noShadow: true }), |
| 202 |
...generateDimensionsAttributes(CONTAINER_SECTION_MARGIN), |
| 203 |
...generateDimensionsAttributes(CONTAINER_SECTION_PADDING), |
| 204 |
...generateBackgroundAttributes(CONTAINER_SECTION_BACKGROUND, { |
| 205 |
defaultFillColor: 'rgba(255, 255, 255, 0)', |
| 206 |
noOverlay: true, |
| 207 |
}), |
| 208 |
...generateResponsiveRangeAttributes(ICON_AREA_LAYOUT_4, { |
| 209 |
defaultRange: 32, |
| 210 |
}), |
| 211 |
...generateResponsiveRangeAttributes(ICON_SIZE_LAYOUT_4), |
| 212 |
...generateResponsiveRangeAttributes(ICON_IMAGE_WIDTH_LAYOUT_4, { |
| 213 |
defaultRange: 32, |
| 214 |
}), |
| 215 |
...generateResponsiveRangeAttributes(ICON_IMAGE_HEIGHT_LAYOUT_4, { |
| 216 |
defaultRange: 32, |
| 217 |
}), |
| 218 |
// dimension |
| 219 |
...generateDimensionsAttributes(BOX_MARGIN_LAYOUT_4), |
| 220 |
...generateDimensionsAttributes(LAST_UPDATED_PADDING), |
| 221 |
...generateDimensionsAttributes(LAST_UPDATED_MARGIN), |
| 222 |
...generateDimensionsAttributes(BOX_PADDING_LAYOUT_4), |
| 223 |
...generateDimensionsAttributes(TITLE_MARGIN_LAYOUT_4), |
| 224 |
...generateDimensionsAttributes(COUNT_MARGIN_LAYOUT_4), |
| 225 |
...generateDimensionsAttributes(ICON_MARGIN_LAYOUT_4), |
| 226 |
...generateDimensionsAttributes(ICON_PADDING_LAYOUT_4), |
| 227 |
// background |
| 228 |
...generateBackgroundAttributes(BOX_BACKGROUND_LAYOUT_4, { |
| 229 |
defaultFillColor: '#fff', |
| 230 |
noOverlay: true, |
| 231 |
}), |
| 232 |
// background |
| 233 |
...generateBackgroundAttributes(LAST_UPDATED_BACKGROUND_COLOR_LAYOUT_4, { |
| 234 |
defaultFillColor: '#FFFCF5', |
| 235 |
noOverlay: true, |
| 236 |
}), |
| 237 |
...generateBackgroundAttributes(ICON_BACKGROUND_LAYOUT_4, { |
| 238 |
noOverlay: true, |
| 239 |
noMainBgi: true, |
| 240 |
}), |
| 241 |
// border shadow attriubtes |
| 242 |
...generateBorderShadowAttributes(BOX_BORDER_LAYOUT_4), |
| 243 |
...generateBorderShadowAttributes(ICON_BORDER_LAYOUT_4, { noShadow: true }), |
| 244 |
...generateDimensionsAttributes(CONTAINER_SECTION_MARGIN_LAYOUT_4), |
| 245 |
...generateDimensionsAttributes(CONTAINER_SECTION_PADDING_LAYOUT_4), |
| 246 |
...generateBackgroundAttributes(CONTAINER_SECTION_BACKGROUND_LAYOUT_4, { |
| 247 |
defaultFillColor: 'rgba(255, 255, 255, 0)', |
| 248 |
noOverlay: true, |
| 249 |
}), |
| 250 |
} |
| 251 |
|
| 252 |
export default attributes |
| 253 |
|