From c2e7c85bbd3a2076649f693b0ad067afbff5da18 Mon Sep 17 00:00:00 2001 From: Nitwel Date: Wed, 24 Feb 2021 23:48:19 +0100 Subject: [PATCH] Update documentation of app (#4222) * move component docs to documentation * update app docs tables for components * update docs * Add components to docs sidebar * fix generated tables * fix tables * rename transitions * update tables * update nested components * update tables * update tables * update tables * update v-table table * add basic documentation to each component * remove all stories of storybook * add missing documentation * undate tables * update tables * update docs sidebar * update app docs * remove unused references * add general readme * update docs * make reference titiles smaller * add reference tag * improve docs * update order of tabs in sidebar * remove all readmes and stories from interfaces/displays * Cleanup menu * Remove storybook Co-authored-by: rijkvanzanten --- app/.gitignore | 1 - app/.storybook/decorators/full-width.ts | 5 - app/.storybook/decorators/half-width.ts | 5 - app/.storybook/decorators/with-alt-colors.ts | 5 - app/.storybook/decorators/with-background.ts | 5 - app/.storybook/decorators/with-padding.ts | 5 - app/.storybook/main.js | 47 - app/.storybook/mock-data/collections.json | 11081 -------- app/.storybook/mock-data/fields.json | 11512 -------- app/.storybook/mock-data/relations.json | 228 - app/.storybook/preview-head.html | 8 - app/.storybook/preview.js | 24 - app/.storybook/raw-value.vue | 39 - app/src/components/readme.md | 19 - .../components/transition/expand/readme.md | 50 - .../expand/transition-expand.story.ts | 40 - app/src/components/transition/readme.md | 7 - app/src/components/v-avatar/readme.md | 41 - app/src/components/v-avatar/v-avatar.story.ts | 167 - app/src/components/v-badge/readme.md | 44 - app/src/components/v-badge/v-badge.story.ts | 169 - app/src/components/v-breadcrumb/readme.md | 28 - .../v-breadcrumb/v-breadcrumb.story.ts | 35 - app/src/components/v-button-group/readme.md | 62 - .../v-button-group/v-button-group.story.ts | 98 - app/src/components/v-button/readme.md | 99 - app/src/components/v-button/v-button.story.ts | 382 - app/src/components/v-card/readme.md | 167 - app/src/components/v-card/v-card.story.ts | 101 - app/src/components/v-checkbox/readme.md | 117 - .../components/v-checkbox/v-checkbox.story.ts | 189 - app/src/components/v-chip/readme.md | 77 - app/src/components/v-chip/v-chip.story.ts | 263 - app/src/components/v-detail/readme.md | 31 - app/src/components/v-dialog/readme.md | 35 - app/src/components/v-dialog/v-dialog.story.ts | 72 - app/src/components/v-divider/readme.md | 34 - app/src/components/v-fancy-select/readme.md | 50 - .../v-fancy-select/v-fancy-select.story.ts | 55 - app/src/components/v-field-select/readme.md | 1 - app/src/components/v-field-template/readme.md | 1 - .../v-field-template.story.ts | 50 - app/src/components/v-form/readme.md | 37 - app/src/components/v-hover/readme.md | 41 - app/src/components/v-hover/v-hover.story.ts | 35 - app/src/components/v-icon/readme.md | 75 - app/src/components/v-icon/v-icon.story.ts | 102 - app/src/components/v-info/readme.md | 30 - app/src/components/v-info/v-info.story.ts | 28 - app/src/components/v-input/readme.md | 57 - app/src/components/v-input/v-input.story.ts | 144 - app/src/components/v-item-group/readme.md | 177 - .../v-item-group/v-item-group.story.ts | 91 - app/src/components/v-menu/readme.md | 29 - app/src/components/v-menu/v-menu.story.ts | 231 - app/src/components/v-notice/readme.md | 27 - app/src/components/v-notice/v-notice.story.ts | 70 - app/src/components/v-overlay/readme.md | 46 - .../components/v-overlay/v-overlay.story.ts | 84 - app/src/components/v-pagination/readme.md | 29 - .../v-pagination/v-pagination.story.ts | 46 - .../circular/v-progress-circular.story.ts | 116 - .../linear/v-progress-linear.story.ts | 71 - app/src/components/v-radio/readme.md | 34 - app/src/components/v-radio/v-radio.story.ts | 57 - app/src/components/v-select/readme.md | 54 - app/src/components/v-select/v-select.story.ts | 95 - app/src/components/v-sheet/readme.md | 47 - app/src/components/v-sheet/v-sheet.story.ts | 100 - .../components/v-skeleton-loader/readme.md | 0 .../v-skeleton-loader.story.ts | 24 - app/src/components/v-slider/readme.md | 85 - app/src/components/v-slider/v-slider.story.ts | 249 - app/src/components/v-switch/readme.md | 70 - app/src/components/v-switch/v-switch.story.ts | 98 - app/src/components/v-table/readme.md | 151 - app/src/components/v-table/v-table.story.ts | 1109 - app/src/components/v-tabs/readme.md | 55 - .../components/v-tabs/v-tab-item/readme.md | 50 - .../components/v-tabs/v-tabs-items/readme.md | 34 - app/src/components/v-tabs/v-tabs.story.ts | 91 - .../components/v-textarea/v-textarea.story.ts | 78 - app/src/components/v-upload/readme.md | 0 .../use-scroll-distance.story.ts | 29 - .../click-outside/click-outside.story.ts | 98 - app/src/directives/focus/focus.story.ts | 28 - app/src/directives/tooltip/tooltip.story.ts | 48 - app/src/displays/datetime/datetime.story.ts | 35 - app/src/displays/datetime/readme.md | 0 app/src/displays/filesize/filesize.story.ts | 36 - app/src/displays/filesize/readme.md | 0 app/src/displays/formatted-value/readme.md | 3 - app/src/displays/image/image.story.ts | 40 - app/src/displays/image/readme.md | 0 app/src/displays/mime-type/mime-type.story.ts | 36 - app/src/displays/mime-type/readme.md | 0 app/src/displays/rating/rating.story.ts | 26 - app/src/displays/rating/readme.md | 0 app/src/displays/user/readme.md | 0 app/src/displays/user/user.story.ts | 47 - .../_system/display-template/readme.md | 9 - .../interfaces/checkboxes/checkboxes.story.ts | 72 - app/src/interfaces/checkboxes/readme.md | 11 - app/src/interfaces/code/code.story.ts | 59 - app/src/interfaces/code/readme.md | 0 app/src/interfaces/color/color.story.ts | 50 - app/src/interfaces/datetime/readme.md | 2 - app/src/interfaces/divider/divider.story.ts | 39 - app/src/interfaces/divider/readme.md | 9 - .../dropdown-multiselect.story.ts | 63 - .../interfaces/dropdown-multiselect/readme.md | 12 - app/src/interfaces/dropdown/dropdown.story.ts | 63 - app/src/interfaces/dropdown/readme.md | 12 - app/src/interfaces/hash/hash.story.ts | 78 - app/src/interfaces/hash/readme.md | 8 - app/src/interfaces/icon/icon.story.ts | 43 - app/src/interfaces/icon/readme.md | 8 - app/src/interfaces/many-to-one/readme.md | 0 app/src/interfaces/markdown/readme.md | 9 - app/src/interfaces/notice/readme.md | 9 - app/src/interfaces/numeric/numeric.story.ts | 71 - app/src/interfaces/numeric/readme.md | 13 - .../radio-buttons/radio-buttons.story.ts | 72 - app/src/interfaces/radio-buttons/readme.md | 11 - app/src/interfaces/slider/readme.md | 10 - app/src/interfaces/slider/slider.story.ts | 48 - app/src/interfaces/tags/readme.md | 14 - app/src/interfaces/tags/tags.story.ts | 127 - app/src/interfaces/text-input/readme.md | 13 - .../interfaces/text-input/text-input.story.ts | 67 - app/src/interfaces/textarea/readme.md | 10 - app/src/interfaces/textarea/textarea.story.ts | 58 - app/src/interfaces/toggle/readme.md | 12 - app/src/interfaces/toggle/toggle.story.ts | 48 - app/src/interfaces/wysiwyg/readme.md | 33 - app/src/interfaces/wysiwyg/wysiwyg.story.ts | 36 - .../header-bar-actions.story.ts | 32 - .../components/header-bar/header-bar.story.ts | 244 - .../module-bar-avatar.story.ts | 70 - .../components/module-bar/module-bar.story.ts | 30 - .../notification-item.story.ts | 99 - .../notifications-group.story.ts | 61 - .../notifications-preview.story.ts | 72 - .../save-options/save-options.story.ts | 10 - .../search-input/search-input.story.ts | 29 - .../sidebar-button/sidebar-button.story.ts | 41 - .../sidebar-detail-group.story.ts | 43 - .../sidebar-detail/sidebar-detail.story.ts | 51 - app/src/views/public/public-view.story.ts | 21 - docs/.vuepress/config.js | 321 + docs/reference/app/app.md | 25 + docs/reference/app/components/index.md | 16 + .../app/components/transition-bounce.md | 39 + .../app/components/transition-dialog.md | 39 + .../app/components/transition-expand.md | 54 + docs/reference/app/components/v-avatar.md | 42 + docs/reference/app/components/v-badge.md | 49 + docs/reference/app/components/v-breadcrumb.md | 31 + .../app/components/v-button-group.md | 56 + docs/reference/app/components/v-button.md | 108 + .../app/components/v-card-actions.md | 21 + .../app/components/v-card-subtitle.md | 17 + docs/reference/app/components/v-card-text.md | 17 + docs/reference/app/components/v-card-title.md | 17 + docs/reference/app/components/v-card.md | 77 + docs/reference/app/components/v-checkbox.md | 133 + docs/reference/app/components/v-chip.md | 91 + docs/reference/app/components/v-detail.md | 37 + docs/reference/app/components/v-dialog.md | 43 + docs/reference/app/components/v-divider.md | 35 + docs/reference/app/components/v-drawer.md | 48 + docs/reference/app/components/v-error.md | 15 + .../app/components/v-fancy-select.md | 67 + .../app/components/v-field-select.md | 25 + .../app/components/v-field-template.md | 27 + docs/reference/app/components/v-form.md | 41 + docs/reference/app/components/v-hover.md | 50 + docs/reference/app/components/v-icon.md | 69 + docs/reference/app/components/v-info.md | 33 + docs/reference/app/components/v-input.md | 69 + docs/reference/app/components/v-item-group.md | 155 + docs/reference/app/components/v-item.md | 21 + docs/reference/app/components/v-list-group.md | 49 + .../app/components/v-list-item-content.md | 18 + .../app/components/v-list-item-hint.md | 17 + .../app/components/v-list-item-icon.md | 30 + docs/reference/app/components/v-list-item.md | 49 + docs/reference/app/components/v-list.md | 59 + docs/reference/app/components/v-menu.md | 42 + docs/reference/app/components/v-notice.md | 31 + docs/reference/app/components/v-overlay.md | 53 + docs/reference/app/components/v-pagination.md | 33 + .../app/components/v-progress-circular.md | 40 + .../app/components/v-progress-linear.md | 42 + docs/reference/app/components/v-radio.md | 41 + docs/reference/app/components/v-select.md | 58 + docs/reference/app/components/v-sheet.md | 47 + .../app/components/v-skeleton-loader.md | 22 + docs/reference/app/components/v-slider.md | 93 + docs/reference/app/components/v-switch.md | 76 + docs/reference/app/components/v-tab-item.md | 42 + .../reference/app/components/v-tab.md | 38 +- docs/reference/app/components/v-table.md | 165 + docs/reference/app/components/v-tabs-items.md | 32 + docs/reference/app/components/v-tabs.md | 62 + .../app/components/v-text-overflow.md | 15 + .../reference/app/components/v-textarea.md | 51 +- docs/reference/app/components/v-upload.md | 25 + package-lock.json | 23486 +++++++--------- 209 files changed, 13603 insertions(+), 44925 deletions(-) delete mode 100644 app/.storybook/decorators/full-width.ts delete mode 100644 app/.storybook/decorators/half-width.ts delete mode 100644 app/.storybook/decorators/with-alt-colors.ts delete mode 100644 app/.storybook/decorators/with-background.ts delete mode 100644 app/.storybook/decorators/with-padding.ts delete mode 100644 app/.storybook/main.js delete mode 100644 app/.storybook/mock-data/collections.json delete mode 100644 app/.storybook/mock-data/fields.json delete mode 100644 app/.storybook/mock-data/relations.json delete mode 100644 app/.storybook/preview-head.html delete mode 100644 app/.storybook/preview.js delete mode 100644 app/.storybook/raw-value.vue delete mode 100644 app/src/components/readme.md delete mode 100644 app/src/components/transition/expand/readme.md delete mode 100644 app/src/components/transition/expand/transition-expand.story.ts delete mode 100644 app/src/components/transition/readme.md delete mode 100644 app/src/components/v-avatar/readme.md delete mode 100644 app/src/components/v-avatar/v-avatar.story.ts delete mode 100644 app/src/components/v-badge/readme.md delete mode 100644 app/src/components/v-badge/v-badge.story.ts delete mode 100644 app/src/components/v-breadcrumb/readme.md delete mode 100644 app/src/components/v-breadcrumb/v-breadcrumb.story.ts delete mode 100644 app/src/components/v-button-group/readme.md delete mode 100644 app/src/components/v-button-group/v-button-group.story.ts delete mode 100644 app/src/components/v-button/readme.md delete mode 100644 app/src/components/v-button/v-button.story.ts delete mode 100644 app/src/components/v-card/readme.md delete mode 100644 app/src/components/v-card/v-card.story.ts delete mode 100644 app/src/components/v-checkbox/readme.md delete mode 100644 app/src/components/v-checkbox/v-checkbox.story.ts delete mode 100644 app/src/components/v-chip/readme.md delete mode 100644 app/src/components/v-chip/v-chip.story.ts delete mode 100644 app/src/components/v-detail/readme.md delete mode 100644 app/src/components/v-dialog/readme.md delete mode 100644 app/src/components/v-dialog/v-dialog.story.ts delete mode 100644 app/src/components/v-divider/readme.md delete mode 100644 app/src/components/v-fancy-select/readme.md delete mode 100644 app/src/components/v-fancy-select/v-fancy-select.story.ts delete mode 100644 app/src/components/v-field-select/readme.md delete mode 100644 app/src/components/v-field-template/readme.md delete mode 100644 app/src/components/v-field-template/v-field-template.story.ts delete mode 100644 app/src/components/v-form/readme.md delete mode 100644 app/src/components/v-hover/readme.md delete mode 100644 app/src/components/v-hover/v-hover.story.ts delete mode 100644 app/src/components/v-icon/readme.md delete mode 100644 app/src/components/v-icon/v-icon.story.ts delete mode 100644 app/src/components/v-info/readme.md delete mode 100644 app/src/components/v-info/v-info.story.ts delete mode 100644 app/src/components/v-input/readme.md delete mode 100644 app/src/components/v-input/v-input.story.ts delete mode 100644 app/src/components/v-item-group/readme.md delete mode 100644 app/src/components/v-item-group/v-item-group.story.ts delete mode 100644 app/src/components/v-menu/readme.md delete mode 100644 app/src/components/v-menu/v-menu.story.ts delete mode 100644 app/src/components/v-notice/readme.md delete mode 100644 app/src/components/v-notice/v-notice.story.ts delete mode 100644 app/src/components/v-overlay/readme.md delete mode 100644 app/src/components/v-overlay/v-overlay.story.ts delete mode 100644 app/src/components/v-pagination/readme.md delete mode 100644 app/src/components/v-pagination/v-pagination.story.ts delete mode 100644 app/src/components/v-progress/circular/v-progress-circular.story.ts delete mode 100644 app/src/components/v-progress/linear/v-progress-linear.story.ts delete mode 100644 app/src/components/v-radio/readme.md delete mode 100644 app/src/components/v-radio/v-radio.story.ts delete mode 100644 app/src/components/v-select/readme.md delete mode 100644 app/src/components/v-select/v-select.story.ts delete mode 100644 app/src/components/v-sheet/readme.md delete mode 100644 app/src/components/v-sheet/v-sheet.story.ts delete mode 100644 app/src/components/v-skeleton-loader/readme.md delete mode 100644 app/src/components/v-skeleton-loader/v-skeleton-loader.story.ts delete mode 100644 app/src/components/v-slider/readme.md delete mode 100644 app/src/components/v-slider/v-slider.story.ts delete mode 100644 app/src/components/v-switch/readme.md delete mode 100644 app/src/components/v-switch/v-switch.story.ts delete mode 100644 app/src/components/v-table/readme.md delete mode 100644 app/src/components/v-table/v-table.story.ts delete mode 100644 app/src/components/v-tabs/readme.md delete mode 100644 app/src/components/v-tabs/v-tab-item/readme.md delete mode 100644 app/src/components/v-tabs/v-tabs-items/readme.md delete mode 100644 app/src/components/v-tabs/v-tabs.story.ts delete mode 100644 app/src/components/v-textarea/v-textarea.story.ts delete mode 100644 app/src/components/v-upload/readme.md delete mode 100644 app/src/composables/use-scroll-distance/use-scroll-distance.story.ts delete mode 100644 app/src/directives/click-outside/click-outside.story.ts delete mode 100644 app/src/directives/focus/focus.story.ts delete mode 100644 app/src/directives/tooltip/tooltip.story.ts delete mode 100644 app/src/displays/datetime/datetime.story.ts delete mode 100644 app/src/displays/datetime/readme.md delete mode 100644 app/src/displays/filesize/filesize.story.ts delete mode 100644 app/src/displays/filesize/readme.md delete mode 100644 app/src/displays/formatted-value/readme.md delete mode 100644 app/src/displays/image/image.story.ts delete mode 100644 app/src/displays/image/readme.md delete mode 100644 app/src/displays/mime-type/mime-type.story.ts delete mode 100644 app/src/displays/mime-type/readme.md delete mode 100644 app/src/displays/rating/rating.story.ts delete mode 100644 app/src/displays/rating/readme.md delete mode 100644 app/src/displays/user/readme.md delete mode 100644 app/src/displays/user/user.story.ts delete mode 100644 app/src/interfaces/_system/display-template/readme.md delete mode 100644 app/src/interfaces/checkboxes/checkboxes.story.ts delete mode 100644 app/src/interfaces/checkboxes/readme.md delete mode 100644 app/src/interfaces/code/code.story.ts delete mode 100644 app/src/interfaces/code/readme.md delete mode 100644 app/src/interfaces/color/color.story.ts delete mode 100644 app/src/interfaces/datetime/readme.md delete mode 100644 app/src/interfaces/divider/divider.story.ts delete mode 100644 app/src/interfaces/divider/readme.md delete mode 100644 app/src/interfaces/dropdown-multiselect/dropdown-multiselect.story.ts delete mode 100644 app/src/interfaces/dropdown-multiselect/readme.md delete mode 100644 app/src/interfaces/dropdown/dropdown.story.ts delete mode 100644 app/src/interfaces/dropdown/readme.md delete mode 100644 app/src/interfaces/hash/hash.story.ts delete mode 100644 app/src/interfaces/hash/readme.md delete mode 100644 app/src/interfaces/icon/icon.story.ts delete mode 100644 app/src/interfaces/icon/readme.md delete mode 100644 app/src/interfaces/many-to-one/readme.md delete mode 100644 app/src/interfaces/markdown/readme.md delete mode 100644 app/src/interfaces/notice/readme.md delete mode 100644 app/src/interfaces/numeric/numeric.story.ts delete mode 100644 app/src/interfaces/numeric/readme.md delete mode 100644 app/src/interfaces/radio-buttons/radio-buttons.story.ts delete mode 100644 app/src/interfaces/radio-buttons/readme.md delete mode 100644 app/src/interfaces/slider/readme.md delete mode 100644 app/src/interfaces/slider/slider.story.ts delete mode 100644 app/src/interfaces/tags/readme.md delete mode 100644 app/src/interfaces/tags/tags.story.ts delete mode 100644 app/src/interfaces/text-input/readme.md delete mode 100644 app/src/interfaces/text-input/text-input.story.ts delete mode 100644 app/src/interfaces/textarea/readme.md delete mode 100644 app/src/interfaces/textarea/textarea.story.ts delete mode 100644 app/src/interfaces/toggle/readme.md delete mode 100644 app/src/interfaces/toggle/toggle.story.ts delete mode 100644 app/src/interfaces/wysiwyg/readme.md delete mode 100644 app/src/interfaces/wysiwyg/wysiwyg.story.ts delete mode 100644 app/src/views/private/components/header-bar-actions/header-bar-actions.story.ts delete mode 100644 app/src/views/private/components/header-bar/header-bar.story.ts delete mode 100644 app/src/views/private/components/module-bar-avatar/module-bar-avatar.story.ts delete mode 100644 app/src/views/private/components/module-bar/module-bar.story.ts delete mode 100644 app/src/views/private/components/notification-item/notification-item.story.ts delete mode 100644 app/src/views/private/components/notifications-group/notifications-group.story.ts delete mode 100644 app/src/views/private/components/notifications-preview/notifications-preview.story.ts delete mode 100644 app/src/views/private/components/save-options/save-options.story.ts delete mode 100644 app/src/views/private/components/search-input/search-input.story.ts delete mode 100644 app/src/views/private/components/sidebar-button/sidebar-button.story.ts delete mode 100644 app/src/views/private/components/sidebar-detail-group/sidebar-detail-group.story.ts delete mode 100644 app/src/views/private/components/sidebar-detail/sidebar-detail.story.ts delete mode 100644 app/src/views/public/public-view.story.ts create mode 100644 docs/reference/app/app.md create mode 100644 docs/reference/app/components/index.md create mode 100644 docs/reference/app/components/transition-bounce.md create mode 100644 docs/reference/app/components/transition-dialog.md create mode 100644 docs/reference/app/components/transition-expand.md create mode 100644 docs/reference/app/components/v-avatar.md create mode 100644 docs/reference/app/components/v-badge.md create mode 100644 docs/reference/app/components/v-breadcrumb.md create mode 100644 docs/reference/app/components/v-button-group.md create mode 100644 docs/reference/app/components/v-button.md create mode 100644 docs/reference/app/components/v-card-actions.md create mode 100644 docs/reference/app/components/v-card-subtitle.md create mode 100644 docs/reference/app/components/v-card-text.md create mode 100644 docs/reference/app/components/v-card-title.md create mode 100644 docs/reference/app/components/v-card.md create mode 100644 docs/reference/app/components/v-checkbox.md create mode 100644 docs/reference/app/components/v-chip.md create mode 100644 docs/reference/app/components/v-detail.md create mode 100644 docs/reference/app/components/v-dialog.md create mode 100644 docs/reference/app/components/v-divider.md create mode 100644 docs/reference/app/components/v-drawer.md create mode 100644 docs/reference/app/components/v-error.md create mode 100644 docs/reference/app/components/v-fancy-select.md create mode 100644 docs/reference/app/components/v-field-select.md create mode 100644 docs/reference/app/components/v-field-template.md create mode 100644 docs/reference/app/components/v-form.md create mode 100644 docs/reference/app/components/v-hover.md create mode 100644 docs/reference/app/components/v-icon.md create mode 100644 docs/reference/app/components/v-info.md create mode 100644 docs/reference/app/components/v-input.md create mode 100644 docs/reference/app/components/v-item-group.md create mode 100644 docs/reference/app/components/v-item.md create mode 100644 docs/reference/app/components/v-list-group.md create mode 100644 docs/reference/app/components/v-list-item-content.md create mode 100644 docs/reference/app/components/v-list-item-hint.md create mode 100644 docs/reference/app/components/v-list-item-icon.md create mode 100644 docs/reference/app/components/v-list-item.md create mode 100644 docs/reference/app/components/v-list.md create mode 100644 docs/reference/app/components/v-menu.md create mode 100644 docs/reference/app/components/v-notice.md create mode 100644 docs/reference/app/components/v-overlay.md create mode 100644 docs/reference/app/components/v-pagination.md create mode 100644 docs/reference/app/components/v-progress-circular.md create mode 100644 docs/reference/app/components/v-progress-linear.md create mode 100644 docs/reference/app/components/v-radio.md create mode 100644 docs/reference/app/components/v-select.md create mode 100644 docs/reference/app/components/v-sheet.md create mode 100644 docs/reference/app/components/v-skeleton-loader.md create mode 100644 docs/reference/app/components/v-slider.md create mode 100644 docs/reference/app/components/v-switch.md create mode 100644 docs/reference/app/components/v-tab-item.md rename app/src/components/v-tabs/v-tab/readme.md => docs/reference/app/components/v-tab.md (50%) create mode 100644 docs/reference/app/components/v-table.md create mode 100644 docs/reference/app/components/v-tabs-items.md create mode 100644 docs/reference/app/components/v-tabs.md create mode 100644 docs/reference/app/components/v-text-overflow.md rename app/src/components/v-textarea/readme.md => docs/reference/app/components/v-textarea.md (56%) create mode 100644 docs/reference/app/components/v-upload.md diff --git a/app/.gitignore b/app/.gitignore index 319fa829cc..e282d9bb44 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1,6 +1,5 @@ node_modules /dist -storybook-static coverage public/img/docs diff --git a/app/.storybook/decorators/full-width.ts b/app/.storybook/decorators/full-width.ts deleted file mode 100644 index 65b9ec2d27..0000000000 --- a/app/.storybook/decorators/full-width.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default function fullWidth() { - return { - template: `
`, - }; -} diff --git a/app/.storybook/decorators/half-width.ts b/app/.storybook/decorators/half-width.ts deleted file mode 100644 index dc068c8b8c..0000000000 --- a/app/.storybook/decorators/half-width.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default function halfWidth() { - return { - template: `
`, - }; -} diff --git a/app/.storybook/decorators/with-alt-colors.ts b/app/.storybook/decorators/with-alt-colors.ts deleted file mode 100644 index 612311ce73..0000000000 --- a/app/.storybook/decorators/with-alt-colors.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default function withBackground() { - return { - template: `
` - } -} diff --git a/app/.storybook/decorators/with-background.ts b/app/.storybook/decorators/with-background.ts deleted file mode 100644 index da5823d4fe..0000000000 --- a/app/.storybook/decorators/with-background.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default function withBackground() { - return { - template: `
` - } -} diff --git a/app/.storybook/decorators/with-padding.ts b/app/.storybook/decorators/with-padding.ts deleted file mode 100644 index 87a037f4e7..0000000000 --- a/app/.storybook/decorators/with-padding.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default function withPadding() { - return { - template: `
` - } -} diff --git a/app/.storybook/main.js b/app/.storybook/main.js deleted file mode 100644 index cda6be87a1..0000000000 --- a/app/.storybook/main.js +++ /dev/null @@ -1,47 +0,0 @@ -const path = require("path"); -const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); - -module.exports = { - stories: ['../src/**/*.story.ts'], - addons: [ - '@storybook/addon-notes/register', - '@storybook/addon-actions', - '@storybook/addon-knobs', - '@storybook/addon-viewport/register', - 'storybook-addon-themes' - ], - webpackFinal: async (config, { configType }) => { - config.resolve.alias = { - ...config.resolve.alias, - '@': path.resolve(__dirname, '../src') - }; - - config.module.rules.push({ - test: /\.scss$/, - use: ['style-loader', 'css-loader', 'sass-loader'], - include: path.resolve(__dirname, '../'), - }); - - config.module.rules.push({ - test: /\.ts$/, - exclude: /node_modules/, - use: [ - { - loader: 'babel-loader' - }, - { - loader: 'ts-loader', - options: { - appendTsSuffixTo: [/\.vue$/], - transpileOnly: true - }, - } - ], - }); - - config.resolve.extensions.push('.ts', '.tsx'); - - // Return the altered config - return config; - } -} diff --git a/app/.storybook/mock-data/collections.json b/app/.storybook/mock-data/collections.json deleted file mode 100644 index 165c348b3a..0000000000 --- a/app/.storybook/mock-data/collections.json +++ /dev/null @@ -1,11081 +0,0 @@ -{ - "collections": [ - { - "collection": "about_us", - "note": "", - "hidden": false, - "single": true, - "managed": true, - "fields": { - "id": { - "collection": "about_us", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 167, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "our_process": { - "collection": "about_us", - "field": "our_process", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 197, - "type": "string", - "sort": 2, - "interface": "wysiwyg", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "link", - "code" - ], - "custom_formats": null - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "date_founded": { - "collection": "about_us", - "field": "date_founded", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 199, - "type": "date", - "sort": 6, - "interface": "calendar", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "min": "2019-09-15" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "new_business_email": { - "collection": "about_us", - "field": "new_business_email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 322, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "general_email": { - "collection": "about_us", - "field": "general_email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 323, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "one_sheet": { - "collection": "about_us", - "field": "one_sheet", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 324, - "type": "file", - "sort": 5, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "layout": "cards", - "layoutOptions": { - "title": "title", - "subtitle": "type", - "content": "description", - "src": "data" - }, - "layoutQuery": [], - "filters": [] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "brand_color_primary": { - "collection": "about_us", - "field": "brand_color_primary", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 877, - "type": "string", - "sort": 8, - "interface": "color", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "format": "hex", - "palette": [ - "#E91E63", - "#F44336", - "#FF9800", - "#FFC107", - "#FFEB3B", - "#CDDC39", - "#4CAF50", - "#00BCD4", - "#2196F3", - "#3F51B5", - "#9C27B0", - "#607D8B" - ], - "paletteOnly": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20" - }, - "brand_color_secondary": { - "collection": "about_us", - "field": "brand_color_secondary", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 878, - "type": "string", - "sort": 9, - "interface": "color", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "format": "hex", - "palette": [ - "#E91E63", - "#F44336", - "#FF9800", - "#FFC107", - "#FFEB3B", - "#CDDC39", - "#4CAF50", - "#00BCD4", - "#2196F3", - "#3F51B5", - "#9C27B0", - "#607D8B" - ], - "paletteOnly": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20" - }, - "brand_logo": { - "collection": "about_us", - "field": "brand_logo", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 881, - "type": "file", - "sort": null, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "layout": "cards", - "layoutOptions": { - "title": "title", - "subtitle": "type", - "content": "description", - "src": "data" - }, - "layoutQuery": [], - "filters": [] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "global": { - "collection": "about_us", - "field": "global", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 880, - "type": "ALIAS", - "sort": 7, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "style": "large", - "title": "Brand Details", - "description": "The following fields are only editable by administrators", - "hr": true, - "margin": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "icon": "location_city", - "translation": null, - "display_template": null, - "name": "About Us" - }, - { - "collection": "analytics", - "note": "Work in Progress", - "hidden": true, - "single": true, - "managed": true, - "fields": { - "id": { - "collection": "analytics", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 177, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "active_users": { - "collection": "analytics", - "field": "active_users", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": true, - "id": 346, - "type": "integer", - "sort": null, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "localized": true, - "iconRight": "people" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "page_visits": { - "collection": "analytics", - "field": "page_visits", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 350, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "page_views": { - "collection": "analytics", - "field": "page_views", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 351, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - } - }, - "icon": "bar_chart", - "translation": null, - "display_template": null, - "name": "Analytics" - }, - { - "collection": "customers", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "customers", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 183, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "customers", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 184, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - }, - "simpleBadge": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "created_on": { - "collection": "customers", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 185, - "type": "datetime_created", - "sort": 19, - "interface": "datetime-created", - "display": "datetime", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "first_name": { - "collection": "customers", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 290, - "type": "string", - "sort": 6, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "last_name": { - "collection": "customers", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 291, - "type": "string", - "sort": 7, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "email": { - "collection": "customers", - "field": "email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 292, - "type": "string", - "sort": 10, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "alternate_email", - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "phone": { - "collection": "customers", - "field": "phone", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 293, - "type": "string", - "sort": 11, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "local_phone", - "placeholder": "(000) 000-0000", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "description": { - "collection": "customers", - "field": "description", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 294, - "type": "string", - "sort": 14, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": "4", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "title": { - "collection": "customers", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 295, - "type": "string", - "sort": 8, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "title" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "owner": { - "collection": "customers", - "field": "owner", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 296, - "type": "m2o", - "sort": 3, - "interface": "many-to-one", - "display": "template", - "display_options": { - "template": "{{ first_name }} {{ last_name }}" - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Select an owner...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "company": { - "collection": "customers", - "field": "company", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 297, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "location_city", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "birthday": { - "collection": "customers", - "field": "birthday", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 298, - "type": "date", - "sort": 12, - "interface": "date", - "display": "datetime", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "localized": true, - "showRelative": true, - "iconRight": "cake" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "source": { - "collection": "customers", - "field": "source", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "other", - "note": "", - "signed": true, - "id": 299, - "type": "string", - "sort": 16, - "interface": "radio-buttons", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "web", - "text": "Web" - }, - { - "value": "phone", - "text": "Phone" - }, - { - "value": "referral", - "text": "Referral" - }, - { - "value": "other", - "text": "Other" - } - ], - "format": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "100" - }, - "created_by": { - "collection": "customers", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 300, - "type": "owner", - "sort": 18, - "interface": "owner", - "display": "user", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "name" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "account_id": { - "collection": "customers", - "field": "account_id", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 301, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "vpn_key", - "placeholder": "XXXX-XXXX", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20" - }, - "rating": { - "collection": "customers", - "field": "rating", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 303, - "type": "integer", - "sort": 13, - "interface": "rating", - "display": "rating", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "active_color": "amber", - "maxStars": 5, - "display": "star" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "tags": { - "collection": "customers", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 304, - "type": "array", - "sort": 15, - "interface": "tags", - "display": "tags", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "local_offer", - "validationMessage": "Please enter a valid tag", - "alphabetize": true, - "lowercase": false, - "wrap": false, - "format": false, - "sanitize": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "2000" - }, - "modified_by": { - "collection": "customers", - "field": "modified_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 305, - "type": "user_updated", - "sort": 21, - "interface": "user-updated", - "display": "user", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "name" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "modified_on": { - "collection": "customers", - "field": "modified_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 306, - "type": "datetime_updated", - "sort": 20, - "interface": "datetime-updated", - "display": "datetime", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "customer_divider": { - "collection": "customers", - "field": "customer_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 884, - "type": "ALIAS", - "sort": 5, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "icon": "person", - "title": "Customer", - "color": "#2F80ED" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "system_divider": { - "collection": "customers", - "field": "system_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 885, - "type": "ALIAS", - "sort": 17, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "style": "large", - "title": "", - "hr": true, - "margin": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "icon": "perm_contact_calendar", - "translation": null, - "display_template": "{{first_name}} {{last_name}} {{status}}", - "name": "Customers" - }, - { - "collection": "interface_library", - "note": "An example of each Directus Core interface", - "hidden": true, - "single": true, - "managed": true, - "fields": { - "id": { - "collection": "interface_library", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "interface_library", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20" - }, - "sort": { - "collection": "interface_library", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "created_by": { - "collection": "interface_library", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "created_on": { - "collection": "interface_library", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "modified_by": { - "collection": "interface_library", - "field": "modified_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "modified_on": { - "collection": "interface_library", - "field": "modified_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "2fa_secret": { - "collection": "interface_library", - "field": "2fa_secret", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16" - }, - "activity_icon": { - "collection": "interface_library", - "field": "activity_icon", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "button_group": { - "collection": "interface_library", - "field": "button_group", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "calendar": { - "collection": "interface_library", - "field": "calendar", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "date", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "checkboxes": { - "collection": "interface_library", - "field": "checkboxes", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "code": { - "collection": "interface_library", - "field": "code", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "collections": { - "collection": "interface_library", - "field": "collections", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "color_picker": { - "collection": "interface_library", - "field": "color_picker", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20" - }, - "color": { - "collection": "interface_library", - "field": "color", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20" - }, - "date": { - "collection": "interface_library", - "field": "date", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "date", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "datetime": { - "collection": "interface_library", - "field": "datetime", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "dropdown": { - "collection": "interface_library", - "field": "dropdown", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "file_preview": { - "collection": "interface_library", - "field": "file_preview", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "file_size": { - "collection": "interface_library", - "field": "file_size", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "file": { - "collection": "interface_library", - "field": "file", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "hashed": { - "collection": "interface_library", - "field": "hashed", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "icon": { - "collection": "interface_library", - "field": "icon", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20" - }, - "json": { - "collection": "interface_library", - "field": "json", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "language": { - "collection": "interface_library", - "field": "language", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "m2o": { - "collection": "interface_library", - "field": "m2o", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "map": { - "collection": "interface_library", - "field": "map", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "markdown": { - "collection": "interface_library", - "field": "markdown", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "multiselect": { - "collection": "interface_library", - "field": "multiselect", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "numeric": { - "collection": "interface_library", - "field": "numeric", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "password": { - "collection": "interface_library", - "field": "password", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "radio_buttons": { - "collection": "interface_library", - "field": "radio_buttons", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "rating": { - "collection": "interface_library", - "field": "rating", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "repeater": { - "collection": "interface_library", - "field": "repeater", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "slider": { - "collection": "interface_library", - "field": "slider", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "tags": { - "collection": "interface_library", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "2000" - }, - "text_input": { - "collection": "interface_library", - "field": "text_input", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "200" - }, - "slug": { - "collection": "interface_library", - "field": "slug", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "200" - }, - "textarea": { - "collection": "interface_library", - "field": "textarea", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "time": { - "collection": "interface_library", - "field": "time", - "datatype": "TIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "time", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "toggle_icon": { - "collection": "interface_library", - "field": "toggle_icon", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "toggle": { - "collection": "interface_library", - "field": "toggle", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "user": { - "collection": "interface_library", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "wysiwyg": { - "collection": "interface_library", - "field": "wysiwyg", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "icon": "star", - "translation": null, - "display_template": null, - "name": "Interface Library" - }, - { - "collection": "interface_library_files", - "note": "Junction Collection", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "interface_library_files", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "interface_library_id": { - "collection": "interface_library_files", - "field": "interface_library_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "directus_files_id": { - "collection": "interface_library_files", - "field": "directus_files_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - } - }, - "icon": "box", - "translation": null, - "display_template": null, - "name": "Interface Library Files" - }, - { - "collection": "interface_library_news", - "note": "Junction Collection", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "interface_library_news", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "interface_library_id": { - "collection": "interface_library_news", - "field": "interface_library_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "news_id": { - "collection": "interface_library_news", - "field": "news_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - } - }, - "icon": "box", - "translation": null, - "display_template": null, - "name": "Interface Library News" - }, - { - "collection": "interface_library_staff", - "note": "Junction Collection", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "interface_library_staff", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "interface_library_id": { - "collection": "interface_library_staff", - "field": "interface_library_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "staff_id": { - "collection": "interface_library_staff", - "field": "staff_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - } - }, - "icon": "box", - "translation": null, - "display_template": null, - "name": "Interface Library Staff" - }, - { - "collection": "locations", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "locations", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 325, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "locations", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 326, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - }, - "simpleBadge": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "sort": { - "collection": "locations", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 327, - "type": "sort", - "sort": 3, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "address": { - "collection": "locations", - "field": "address", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 328, - "type": "string", - "sort": 6, - "interface": "textarea", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "location_on", - "rows": "4", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "name": { - "collection": "locations", - "field": "name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 329, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "location_on" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "phone": { - "collection": "locations", - "field": "phone", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 332, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "local_phone", - "placeholder": "(000) 000-0000" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "location": { - "collection": "locations", - "field": "location", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 879, - "type": "json", - "sort": 9, - "interface": "map", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "height": 400, - "mapLat": 40.72803624, - "mapLng": -73.94896388, - "defaultZoom": 12, - "maxZoom": 17, - "address_to_code": false, - "theme": "https://{s}.basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}.png" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "exterior_image": { - "collection": "locations", - "field": "exterior_image", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 882, - "type": "file", - "sort": 7, - "interface": "image", - "display": "image", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "interior_image": { - "collection": "locations", - "field": "interior_image", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 883, - "type": "file", - "sort": 8, - "interface": "image", - "display": "image", - "display_options": { - "circle": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - } - }, - "icon": "location_on", - "translation": null, - "display_template": null, - "name": "Locations" - }, - { - "collection": "mailing_list", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "mailing_list", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 163, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "mailing_list", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "active", - "note": "", - "signed": true, - "id": 164, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "active": { - "name": "Active", - "value": "active", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "inactive": { - "name": "Inactive", - "value": "inactive", - "text_color": "#B0BEC5", - "background_color": "#ECEFF1", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "unsubscribed": { - "name": "Unsubscribed", - "value": "unsubscribed", - "text_color": "#FFFFFF", - "background_color": "#F2994A", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "created_by": { - "collection": "mailing_list", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 165, - "type": "owner", - "sort": 3, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "created_on": { - "collection": "mailing_list", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 166, - "type": "datetime_created", - "sort": 4, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "email": { - "collection": "mailing_list", - "field": "email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 280, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "alternate_email" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "first_name": { - "collection": "mailing_list", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 281, - "type": "string", - "sort": 6, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "last_name": { - "collection": "mailing_list", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 282, - "type": "string", - "sort": 7, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "frequency": { - "collection": "mailing_list", - "field": "frequency", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "{ \"default\": [\"daily\", \"weekly\", \"monthly\"] }", - "note": "", - "signed": true, - "id": 320, - "type": "array", - "sort": 8, - "interface": "checkboxes", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "daily", - "text": "Daily Emails" - }, - { - "value": "weekly", - "text": "Weekly Emails" - }, - { - "value": "monthly", - "text": "Monthly Emails" - } - ], - "allow_other": false, - "draggable": false, - "wrap": false, - "formatting": true, - "single": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255" - } - }, - "icon": "alternate_email", - "translation": null, - "display_template": null, - "name": "Mailing List" - }, - { - "collection": "news", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "news", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 171, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "news", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 172, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "created_by": { - "collection": "news", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 173, - "type": "owner", - "sort": 3, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "created_on": { - "collection": "news", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 174, - "type": "datetime_created", - "sort": 4, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "author": { - "collection": "news", - "field": "author", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 210, - "type": "m2o", - "sort": 6, - "interface": "many-to-one", - "display": "template", - "display_options": { - "template": "{{ first_name }} {{ last_name }}" - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Choose an author...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "title": { - "collection": "news", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 211, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "body": { - "collection": "news", - "field": "body", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 276, - "type": "string", - "sort": 8, - "interface": "wysiwyg", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "removeformat", - "link", - "bullist", - "numlist", - "blockquote", - "h1", - "h2", - "h3", - "image", - "media", - "hr", - "code" - ], - "custom_formats": null - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "published_on": { - "collection": "news", - "field": "published_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 277, - "type": "datetime", - "sort": 7, - "interface": "datetime", - "display": null, - "display_options": { - "include_seconds": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "defaultToCurrentDatetime": true, - "format": "mdy" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "tags": { - "collection": "news", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 278, - "type": "array", - "sort": 10, - "interface": "tags", - "display": "tags", - "display_options": { - "format": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "local_offer", - "validationMessage": "Please enter a valid tag", - "alphabetize": true, - "lowercase": true, - "wrap": false, - "format": false, - "sanitize": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "2000" - }, - "summary": { - "collection": "news", - "field": "summary", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 279, - "type": "string", - "sort": 9, - "interface": "textarea", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": "5", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "related_news": { - "collection": "news", - "field": "related_news", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 316, - "type": "O2M", - "sort": null, - "interface": "many-to-many", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "title,published_on", - "template": "{{title}} — {{published_on}}", - "allow_create": false, - "allow_select": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "icon": "rss_feed", - "translation": null, - "display_template": null, - "name": "News" - }, - { - "collection": "news_relations", - "note": "Junction Collection", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "news_relations", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 317, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "news_id": { - "collection": "news_relations", - "field": "news_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 318, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "related_id": { - "collection": "news_relations", - "field": "related_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 319, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - } - }, - "icon": "box", - "translation": null, - "display_template": null, - "name": "News Relations" - }, - { - "collection": "products", - "note": "Work in Progress", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "products", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 178, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "products", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 179, - "type": "status", - "sort": 0, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "sort": { - "collection": "products", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 180, - "type": "sort", - "sort": 0, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "created_by": { - "collection": "products", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 181, - "type": "owner", - "sort": 0, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "created_on": { - "collection": "products", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 182, - "type": "datetime_created", - "sort": 0, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "image": { - "collection": "products", - "field": "image", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 191, - "type": "file", - "sort": null, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "layout": "cards", - "layoutOptions": { - "title": "title", - "subtitle": "type", - "content": "description", - "src": "data" - }, - "layoutQuery": [], - "filters": [] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "sku": { - "collection": "products", - "field": "sku", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 321, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "code", - "placeholder": "TH-XX-00-XX", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "11" - }, - "this_is_a_longer_name": { - "collection": "products", - "field": "this_is_a_longer_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 343, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - } - }, - "icon": "shopping_cart", - "translation": null, - "display_template": null, - "name": "Products" - }, - { - "collection": "services", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "services", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 168, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "services", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 169, - "type": "status", - "sort": 0, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "sort": { - "collection": "services", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 170, - "type": "sort", - "sort": 0, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "name": { - "collection": "services", - "field": "name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 198, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "description": { - "collection": "services", - "field": "description", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 315, - "type": "string", - "sort": null, - "interface": "wysiwyg", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "removeformat", - "link", - "code" - ], - "custom_formats": null - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "icon": "assignment", - "translation": null, - "display_template": null, - "name": "Services" - }, - { - "collection": "staff", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "staff", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 175, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "staff", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 176, - "type": "status", - "sort": 0, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20" - }, - "first_name": { - "collection": "staff", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 186, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100" - }, - "last_name": { - "collection": "staff", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 187, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100" - }, - "email": { - "collection": "staff", - "field": "email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 189, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "gender": { - "collection": "staff", - "field": "gender", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 188, - "type": "string", - "sort": null, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "Male", - "text": "Male" - }, - { - "value": "Female", - "text": "Female" - }, - { - "value": "Other", - "text": "Other" - } - ] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "100" - }, - "bio": { - "collection": "staff", - "field": "bio", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 190, - "type": "string", - "sort": null, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": 8, - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "news": { - "collection": "staff", - "field": "news", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 212, - "type": "O2M", - "sort": null, - "interface": "one-to-many", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "title", - "template": "{{title}}", - "sort_field": "sort", - "delete_mode": "relation", - "allow_create": true, - "allow_select": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "icon": "group", - "translation": null, - "display_template": null, - "name": "Staff" - }, - { - "collection": "tickets", - "note": null, - "hidden": false, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "tickets", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": true, - "id": 307, - "type": "integer", - "sort": 2, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "tickets", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "new", - "note": "", - "signed": true, - "id": 308, - "type": "status", - "sort": 1, - "interface": "status", - "display": "status-badge", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "new": { - "name": "New", - "value": "new", - "text_color": "#9B51E0", - "background_color": "#E6D3F7", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "open": { - "name": "Open", - "value": "open", - "text_color": "#2F80ED", - "background_color": "#CBDFFB", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "escalated": { - "name": "Escalated", - "value": "escalated", - "text_color": "#F2994A", - "background_color": "#FCE5D2", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "pending": { - "name": "Pending", - "value": "pending", - "text_color": "#93D7AF", - "background_color": "#E9F7EF", - "browse_badge": true, - "required_fields": true, - "published": true - }, - "solved": { - "name": "Solved", - "value": "solved", - "text_color": "#27AE60", - "background_color": "#C9EBD7", - "browse_subdued": true, - "browse_badge": true, - "required_fields": true, - "published": true - }, - "inactive": { - "name": "Inactive", - "value": "inactive", - "text_color": "#B0BEC5", - "background_color": "#ECEFF1", - "browse_subdued": true, - "browse_badge": true, - "required_fields": true, - "published": true - } - }, - "simpleBadge": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20" - }, - "created_by": { - "collection": "tickets", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 309, - "type": "owner", - "sort": 10, - "interface": "owner", - "display": "user", - "display_options": { - "display": "both", - "circle": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "created_on": { - "collection": "tickets", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 310, - "type": "datetime_created", - "sort": 11, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "modified_by": { - "collection": "tickets", - "field": "modified_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 311, - "type": "user_updated", - "sort": 12, - "interface": "user-updated", - "display": "user", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "modified_on": { - "collection": "tickets", - "field": "modified_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 312, - "type": "datetime_updated", - "sort": 13, - "interface": "datetime-updated", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "customer": { - "collection": "tickets", - "field": "customer", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 313, - "type": "m2o", - "sort": 4, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Select a Customer...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "priority": { - "collection": "tickets", - "field": "priority", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "normal", - "note": "", - "signed": true, - "id": 354, - "type": "string", - "sort": 3, - "interface": "dropdown", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "low", - "text": "Low" - }, - { - "value": "normal", - "text": "Normal" - }, - { - "value": "high", - "text": "High" - } - ], - "placeholder": "Choose an option...", - "icon": "flag" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100" - }, - "subject": { - "collection": "tickets", - "field": "subject", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 887, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200" - }, - "question": { - "collection": "tickets", - "field": "question", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 888, - "type": "string", - "sort": 6, - "interface": "textarea", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": "4", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "attachments": { - "collection": "tickets", - "field": "attachments", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 889, - "type": "O2M", - "sort": 8, - "interface": "files", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "title", - "template": "{{ title }}", - "allow_create": true, - "allow_select": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "notes": { - "collection": "tickets", - "field": "notes", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 289, - "type": "O2M", - "sort": 7, - "interface": "one-to-many", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "created_on,note", - "template": "{{created_on}} — {{note}}", - "delete_mode": "item", - "allow_create": true, - "allow_select": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "system_divider": { - "collection": "tickets", - "field": "system_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 886, - "type": "ALIAS", - "sort": 9, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "style": "large", - "title": "", - "hr": true, - "margin": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "icon": "assignment_turned_in", - "translation": null, - "display_template": null, - "name": "Tickets" - }, - { - "collection": "ticket_files", - "note": "Junction Collection", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "ticket_files", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 890, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "ticket": { - "collection": "ticket_files", - "field": "ticket", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 891, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "file": { - "collection": "ticket_files", - "field": "file", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 892, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - } - }, - "icon": "box", - "translation": null, - "display_template": null, - "name": "Ticket Files" - }, - { - "collection": "ticket_notes", - "note": "Junction Collection", - "hidden": true, - "single": false, - "managed": true, - "fields": { - "id": { - "collection": "ticket_notes", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 283, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "created_by": { - "collection": "ticket_notes", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 284, - "type": "owner", - "sort": 2, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10" - }, - "created_on": { - "collection": "ticket_notes", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 285, - "type": "datetime_created", - "sort": 3, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "showRelative": true - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "note": { - "collection": "ticket_notes", - "field": "note", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 286, - "type": "string", - "sort": 5, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": 8, - "placeholder": "Enter your note here...", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "ticket": { - "collection": "ticket_notes", - "field": "ticket", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 287, - "type": "m2o", - "sort": 4, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": { - "icon": "perm_contact_calendar", - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Choose a Customer...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "channel": { - "collection": "ticket_notes", - "field": "channel", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "internal", - "note": "", - "signed": true, - "id": 288, - "type": "string", - "sort": 6, - "interface": "radio-buttons", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "100" - } - }, - "icon": "assignment", - "translation": null, - "display_template": null, - "name": "Ticket Notes" - }, - { - "collection": "directus_activity", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_activity", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 728, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "action": { - "collection": "directus_activity", - "field": "action", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 729, - "type": "string", - "sort": 1, - "interface": "activity-icon", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "change_history" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "45" - }, - "user": { - "collection": "directus_activity", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 732, - "type": "integer", - "sort": 4, - "interface": "user", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "account_circle", - "display": "both" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "timestamp": { - "collection": "directus_activity", - "field": "timestamp", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 733, - "type": "datetime", - "sort": 5, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "showRelative": true, - "iconRight": "calendar_today" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "ip": { - "collection": "directus_activity", - "field": "ip", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 736, - "type": "string", - "sort": 8, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "my_location" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "50" - }, - "user_agent": { - "collection": "directus_activity", - "field": "user_agent", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 737, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "devices_other" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "collection": { - "collection": "directus_activity", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 730, - "type": "string", - "sort": 2, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "list_alt" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "64" - }, - "item": { - "collection": "directus_activity", - "field": "item", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 731, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "link" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "edited_on": { - "collection": "directus_activity", - "field": "edited_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 734, - "type": "datetime", - "sort": 6, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "showRelative": true, - "iconRight": "edit" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "comment": { - "collection": "directus_activity", - "field": "comment", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 738, - "type": "string", - "sort": 10, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "comment_deleted_on": { - "collection": "directus_activity", - "field": "comment_deleted_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 735, - "type": "datetime", - "sort": 7, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "showRelative": true, - "iconRight": "delete_outline" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Activity" - }, - { - "collection": "directus_collection_presets", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_collection_presets", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 739, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "title": { - "collection": "directus_collection_presets", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 740, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "user": { - "collection": "directus_collection_presets", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 741, - "type": "integer", - "sort": null, - "interface": "user", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "role": { - "collection": "directus_collection_presets", - "field": "role", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 742, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "collection": { - "collection": "directus_collection_presets", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 743, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "search": { - "collection": "directus_collection_presets", - "field": "search", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 744, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "filters": { - "collection": "directus_collection_presets", - "field": "filters", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 745, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "layout": { - "collection": "directus_collection_presets", - "field": "layout", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "tabular", - "note": "", - "signed": true, - "id": 747, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "layout_query": { - "collection": "directus_collection_presets", - "field": "layout_query", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 748, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "layout_options": { - "collection": "directus_collection_presets", - "field": "layout_options", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 746, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "translation": { - "collection": "directus_collection_presets", - "field": "translation", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Collection Presets" - }, - { - "collection": "directus_collections", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "collection": { - "collection": "directus_collections", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": true, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 750, - "type": "string", - "sort": 2, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "64" - }, - "managed": { - "collection": "directus_collections", - "field": "managed", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "1", - "note": "[Learn More](https://docs.directus.io/guides/collections.html#managing-collections).", - "signed": false, - "id": 752, - "type": "boolean", - "sort": 4, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "3" - }, - "hidden": { - "collection": "directus_collections", - "field": "hidden", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "[Learn More](https://docs.directus.io/guides/collections.html#hidden).", - "signed": false, - "id": 753, - "type": "boolean", - "sort": 5, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "3" - }, - "single": { - "collection": "directus_collections", - "field": "single", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "[Learn More](https://docs.directus.io/guides/collections.html#single).", - "signed": false, - "id": 754, - "type": "boolean", - "sort": 6, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "3" - }, - "icon": { - "collection": "directus_collections", - "field": "icon", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "The icon shown in the App's navigation sidebar.", - "signed": true, - "id": 756, - "type": "string", - "sort": 8, - "interface": "icon", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "30" - }, - "note": { - "collection": "directus_collections", - "field": "note", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "An internal description.", - "signed": true, - "id": 751, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "translation": { - "collection": "directus_collections", - "field": "translation", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 755, - "type": "json", - "sort": 7, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": [ - { - "field": "language", - "type": "string", - "interface": "language", - "options": { - "limit": true - }, - "width": "half" - }, - { - "field": "translation", - "type": "string", - "interface": "text-input", - "width": "half" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "display_template": { - "collection": "directus_collections", - "field": "display_template", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "What template to use to reference individual items in this collection.", - "signed": true, - "id": 899, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "{{ name }} – ({{ title }})" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255" - }, - "fields": { - "collection": "directus_collections", - "field": "fields", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 749, - "type": "O2M", - "sort": 1, - "interface": "one-to-many", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Collections" - }, - { - "collection": "directus_fields", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_fields", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 711, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "collection": { - "collection": "directus_fields", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 712, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "field": { - "collection": "directus_fields", - "field": "field", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 713, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "type": { - "collection": "directus_fields", - "field": "type", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 714, - "type": "string", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "interface": { - "collection": "directus_fields", - "field": "interface", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 715, - "type": "string", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "options": { - "collection": "directus_fields", - "field": "options", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 716, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "display": { - "collection": "directus_fields", - "field": "display", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 897, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "display_options": { - "collection": "directus_fields", - "field": "display_options", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 898, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "locked": { - "collection": "directus_fields", - "field": "locked", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 717, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "validation": { - "collection": "directus_fields", - "field": "validation", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 720, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "500" - }, - "required": { - "collection": "directus_fields", - "field": "required", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 721, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "readonly": { - "collection": "directus_fields", - "field": "readonly", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 719, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "hidden_detail": { - "collection": "directus_fields", - "field": "hidden_detail", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 724, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "hidden_browse": { - "collection": "directus_fields", - "field": "hidden_browse", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 725, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "sort": { - "collection": "directus_fields", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 722, - "type": "sort", - "sort": null, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "width": { - "collection": "directus_fields", - "field": "width", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 726, - "type": "integer", - "sort": null, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "30" - }, - "group": { - "collection": "directus_fields", - "field": "group", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 727, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "note": { - "collection": "directus_fields", - "field": "note", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 723, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1024" - }, - "translation": { - "collection": "directus_fields", - "field": "translation", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 718, - "type": "json", - "sort": null, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": [ - { - "field": "language", - "type": "string", - "interface": "language", - "options": { - "limit": true - }, - "width": "half" - }, - { - "field": "translation", - "type": "string", - "interface": "text-input", - "width": "half" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Fields" - }, - { - "collection": "directus_files", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_files", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": true, - "id": 774, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "storage": { - "collection": "directus_files", - "field": "storage", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "local", - "note": "", - "signed": true, - "id": 779, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "50" - }, - "filename_disk": { - "collection": "directus_files", - "field": "filename_disk", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 763, - "type": "string", - "sort": 7, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "placeholder": "Enter a unique file name...", - "iconRight": "insert_drive_file" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255" - }, - "filename_download": { - "collection": "directus_files", - "field": "filename_download", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "", - "note": "", - "signed": true, - "id": 762, - "type": "string", - "sort": 6, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "monospace": true, - "iconRight": "get_app" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255" - }, - "title": { - "collection": "directus_files", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 758, - "type": "string", - "sort": 2, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "Enter a descriptive title...", - "iconRight": "title" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255" - }, - "type": { - "collection": "directus_files", - "field": "type", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 775, - "type": "string", - "sort": null, - "interface": "text-input", - "display": "mime-type", - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "uploaded_by": { - "collection": "directus_files", - "field": "uploaded_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 767, - "type": "owner", - "sort": 11, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "uploaded_on": { - "collection": "directus_files", - "field": "uploaded_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 766, - "type": "datetime", - "sort": 10, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "today" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null - }, - "charset": { - "collection": "directus_files", - "field": "charset", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 776, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "50" - }, - "filesize": { - "collection": "directus_files", - "field": "filesize", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 771, - "type": "integer", - "sort": 15, - "interface": "file-size", - "display": "filesize", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "storage" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "width": { - "collection": "directus_files", - "field": "width", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 768, - "type": "integer", - "sort": 12, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "straighten" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "height": { - "collection": "directus_files", - "field": "height", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 769, - "type": "integer", - "sort": 13, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "straighten" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "duration": { - "collection": "directus_files", - "field": "duration", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 770, - "type": "integer", - "sort": 14, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "timer" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "embed": { - "collection": "directus_files", - "field": "embed", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 777, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "200" - }, - "folder": { - "collection": "directus_files", - "field": "folder", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 778, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "description": { - "collection": "directus_files", - "field": "description", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 761, - "type": "string", - "sort": 5, - "interface": "wysiwyg", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "link", - "code" - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "location": { - "collection": "directus_files", - "field": "location", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 760, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "Enter a location...", - "iconRight": "place" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200" - }, - "tags": { - "collection": "directus_files", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 759, - "type": "array", - "sort": 3, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "Enter a keyword then hit enter..." - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "checksum": { - "collection": "directus_files", - "field": "checksum", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 765, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "check", - "monospace": true - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "32" - }, - "private_hash": { - "collection": "directus_files", - "field": "private_hash", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 764, - "type": "slug", - "sort": 8, - "interface": "slug", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "lock" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "16" - }, - "metadata": { - "collection": "directus_files", - "field": "metadata", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 772, - "type": "json", - "sort": 15, - "interface": "key-value", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "keyInterface": "text-input", - "keyDataType": "string", - "keyOptions": { - "monospace": true, - "placeholder": "Key" - }, - "valueInterface": "text-input", - "valueDataType": "string", - "valueOptions": { - "monospace": true, - "placeholder": "Value" - } - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "data": { - "collection": "directus_files", - "field": "data", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 773, - "type": "ALIAS", - "sort": null, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Files" - }, - { - "collection": "directus_folders", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_folders", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 780, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "name": { - "collection": "directus_folders", - "field": "name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 781, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "191" - }, - "parent": { - "collection": "directus_folders", - "field": "parent", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 782, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Folders" - }, - { - "collection": "directus_migrations", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "version": { - "collection": "directus_migrations", - "field": "version", - "datatype": "BIGINT", - "unique": false, - "primary_key": true, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "19" - }, - "migration_name": { - "collection": "directus_migrations", - "field": "migration_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "start_time": { - "collection": "directus_migrations", - "field": "start_time", - "datatype": "TIMESTAMP", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "end_time": { - "collection": "directus_migrations", - "field": "end_time", - "datatype": "TIMESTAMP", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "breakpoint": { - "collection": "directus_migrations", - "field": "breakpoint", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Migrations" - }, - { - "collection": "directus_permissions", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_permissions", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 792, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "collection": { - "collection": "directus_permissions", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 793, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "role": { - "collection": "directus_permissions", - "field": "role", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 794, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "directus_permissions", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 795, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "create": { - "collection": "directus_permissions", - "field": "create", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 796, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16" - }, - "read": { - "collection": "directus_permissions", - "field": "read", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 797, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16" - }, - "update": { - "collection": "directus_permissions", - "field": "update", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 798, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16" - }, - "delete": { - "collection": "directus_permissions", - "field": "delete", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 799, - "type": "string", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16" - }, - "comment": { - "collection": "directus_permissions", - "field": "comment", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 800, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "8" - }, - "explain": { - "collection": "directus_permissions", - "field": "explain", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 801, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "8" - }, - "read_field_blacklist": { - "collection": "directus_permissions", - "field": "read_field_blacklist", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 803, - "type": "array", - "sort": null, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1000" - }, - "write_field_blacklist": { - "collection": "directus_permissions", - "field": "write_field_blacklist", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 804, - "type": "array", - "sort": null, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1000" - }, - "status_blacklist": { - "collection": "directus_permissions", - "field": "status_blacklist", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 802, - "type": "array", - "sort": null, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1000" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Permissions" - }, - { - "collection": "directus_relations", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_relations", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 805, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "collection_many": { - "collection": "directus_relations", - "field": "collection_many", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 806, - "type": "string", - "sort": null, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "field_many": { - "collection": "directus_relations", - "field": "field_many", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 807, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "45" - }, - "collection_one": { - "collection": "directus_relations", - "field": "collection_one", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 808, - "type": "string", - "sort": null, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "field_one": { - "collection": "directus_relations", - "field": "field_one", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 809, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "junction_field": { - "collection": "directus_relations", - "field": "junction_field", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 810, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Relations" - }, - { - "collection": "directus_revisions", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_revisions", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 811, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "activity": { - "collection": "directus_revisions", - "field": "activity", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 812, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "collection": { - "collection": "directus_revisions", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 813, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "item": { - "collection": "directus_revisions", - "field": "item", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 814, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "data": { - "collection": "directus_revisions", - "field": "data", - "datatype": "LONGTEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 815, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "delta": { - "collection": "directus_revisions", - "field": "delta", - "datatype": "LONGTEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 816, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "parent_collection": { - "collection": "directus_revisions", - "field": "parent_collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 818, - "type": "string", - "sort": null, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "parent_item": { - "collection": "directus_revisions", - "field": "parent_item", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 817, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "parent_changed": { - "collection": "directus_revisions", - "field": "parent_changed", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 819, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Revisions" - }, - { - "collection": "directus_roles", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_roles", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 783, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "name": { - "collection": "directus_roles", - "field": "name", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 785, - "type": "string", - "sort": 1, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100" - }, - "description": { - "collection": "directus_roles", - "field": "description", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 786, - "type": "string", - "sort": 2, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "500" - }, - "ip_whitelist": { - "collection": "directus_roles", - "field": "ip_whitelist", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 787, - "type": "array", - "sort": null, - "interface": "tags", - "display": "tags", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "external_id": { - "collection": "directus_roles", - "field": "external_id", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 784, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "enforce_2fa": { - "collection": "directus_roles", - "field": "enforce_2fa", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3" - }, - "module_listing": { - "collection": "directus_roles", - "field": "module_listing", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 790, - "type": "json", - "sort": null, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{ name }}", - "createItemText": "Add Module", - "fields": [ - { - "name": "Name", - "field": "name", - "interface": "text-input", - "type": "string", - "width": "half" - }, - { - "name": "Link", - "field": "link", - "interface": "text-input", - "type": "string", - "width": "half" - }, - { - "name": "Icon", - "field": "icon", - "interface": "icon", - "type": "string", - "width": "full" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "collection_listing": { - "collection": "directus_roles", - "field": "collection_listing", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 791, - "type": "json", - "sort": null, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{ group_name }}", - "createItemText": "Add Group", - "fields": [ - { - "name": "Group Name", - "field": "group_name", - "width": "full", - "interface": "text-input", - "type": "string" - }, - { - "name": "Collection", - "field": "collections", - "interface": "repeater", - "type": "JSON", - "options": { - "createItemText": "Add Collection", - "template": "{{ collection }}", - "fields": [ - { - "name": "Collection", - "field": "collection", - "type": "string", - "interface": "collections", - "width": "full" - } - ] - } - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "nav_override": { - "collection": "directus_roles", - "field": "nav_override", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "users": { - "collection": "directus_roles", - "field": "users", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 789, - "type": "O2M", - "sort": null, - "interface": "one-to-many", - "display": "template", - "display_options": { - "template": "{{ first_name }} {{ last_name }}" - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "first_name,last_name" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Roles" - }, - { - "collection": "directus_settings", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_settings", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "key": { - "collection": "directus_settings", - "field": "key", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64" - }, - "value": { - "collection": "directus_settings", - "field": "value", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "data_divider": { - "collection": "directus_settings", - "field": "data_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 828, - "type": "ALIAS", - "sort": 10, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": true, - "required": false, - "options": { - "style": "large", - "title": "Data", - "hr": true - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "files_divider": { - "collection": "directus_settings", - "field": "files_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 835, - "type": "ALIAS", - "sort": 30, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": true, - "required": false, - "options": { - "style": "large", - "title": "Files & Thumbnails", - "hr": true - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - }, - "security_divider": { - "collection": "directus_settings", - "field": "security_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 831, - "type": "ALIAS", - "sort": 20, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": true, - "required": false, - "options": { - "style": "large", - "title": "Security", - "hr": true - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus Settings" - }, - { - "collection": "directus_user_sessions", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_user_sessions", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 862, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "user": { - "collection": "directus_user_sessions", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 863, - "type": "user", - "sort": null, - "interface": "user", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "token_type": { - "collection": "directus_user_sessions", - "field": "token_type", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 864, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "token": { - "collection": "directus_user_sessions", - "field": "token", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 865, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "ip_address": { - "collection": "directus_user_sessions", - "field": "ip_address", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 866, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "user_agent": { - "collection": "directus_user_sessions", - "field": "user_agent", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 867, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "created_on": { - "collection": "directus_user_sessions", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 868, - "type": "datetime", - "sort": null, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "token_expired_at": { - "collection": "directus_user_sessions", - "field": "token_expired_at", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 869, - "type": "datetime", - "sort": null, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null - } - }, - "translation": null, - "icon": "box", - "name": "Directus User Sessions" - }, - { - "collection": "directus_users", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_users", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 842, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "directus_users", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 843, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-badge", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "status_mapping": { - "draft": { - "name": "Draft", - "text_color": "#B0BEC5", - "background_color": "#ECEFF1", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": false - }, - "invited": { - "name": "Invited", - "text_color": "#FFFFFF", - "background_color": "#2F80ED", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": false - }, - "active": { - "name": "Active", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "listing_subdued": false, - "listing_badge": false, - "soft_delete": false - }, - "suspended": { - "name": "Suspended", - "text_color": "#FFFFFF", - "background_color": "#F2994A", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": false - }, - "deleted": { - "name": "Deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": true - } - } - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16" - }, - "first_name": { - "collection": "directus_users", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 844, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "account_circle" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "50" - }, - "last_name": { - "collection": "directus_users", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 845, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "account_circle" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "50" - }, - "email": { - "collection": "directus_users", - "field": "email", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 846, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "alternate_email" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": "$email", - "group": null, - "length": "128" - }, - "password": { - "collection": "directus_users", - "field": "password", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 848, - "type": "hash", - "sort": 7, - "interface": "password", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "token": { - "collection": "directus_users", - "field": "token", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 858, - "type": "string", - "sort": 17, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "timezone": { - "collection": "directus_users", - "field": "timezone", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "America/New_York", - "note": "", - "signed": true, - "id": 852, - "type": "string", - "sort": 11, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "choices": [ - { - "text": "Pacific/Midway", - "value": "(UTC-11:00) Midway Island" - }, - { - "text": "Pacific/Samoa", - "value": "(UTC-11:00) Samoa" - }, - { - "text": "Pacific/Honolulu", - "value": "(UTC-10:00) Hawaii" - }, - { - "text": "US/Alaska", - "value": "(UTC-09:00) Alaska" - }, - { - "text": "America/Los_Angeles", - "value": "(UTC-08:00) Pacific Time (US & Canada)" - }, - { - "text": "America/Tijuana", - "value": "(UTC-08:00) Tijuana" - }, - { - "text": "US/Arizona", - "value": "(UTC-07:00) Arizona" - }, - { - "text": "America/Chihuahua", - "value": "(UTC-07:00) Chihuahua" - }, - { - "text": "America/Mexico/La_Paz", - "value": "(UTC-07:00) La Paz" - }, - { - "text": "America/Mazatlan", - "value": "(UTC-07:00) Mazatlan" - }, - { - "text": "US/Mountain", - "value": "(UTC-07:00) Mountain Time (US & Canada)" - }, - { - "text": "America/Managua", - "value": "(UTC-06:00) Central America" - }, - { - "text": "US/Central", - "value": "(UTC-06:00) Central Time (US & Canada)" - }, - { - "text": "America/Guadalajara", - "value": "(UTC-06:00) Guadalajara" - }, - { - "text": "America/Mexico_City", - "value": "(UTC-06:00) Mexico City" - }, - { - "text": "America/Monterrey", - "value": "(UTC-06:00) Monterrey" - }, - { - "text": "Canada/Saskatchewan", - "value": "(UTC-06:00) Saskatchewan" - }, - { - "text": "America/Bogota", - "value": "(UTC-05:00) Bogota" - }, - { - "text": "US/Eastern", - "value": "(UTC-05:00) Eastern Time (US & Canada)" - }, - { - "text": "US/East-Indiana", - "value": "(UTC-05:00) Indiana (East)" - }, - { - "text": "America/Lima", - "value": "(UTC-05:00) Lima" - }, - { - "text": "America/Quito", - "value": "(UTC-05:00) Quito" - }, - { - "text": "Canada/Atlantic", - "value": "(UTC-04:00) Atlantic Time (Canada)" - }, - { - "text": "America/New_York", - "value": "(UTC-04:00) New York" - }, - { - "text": "America/Caracas", - "value": "(UTC-04:30) Caracas" - }, - { - "text": "America/La_Paz", - "value": "(UTC-04:00) La Paz" - }, - { - "text": "America/Santiago", - "value": "(UTC-04:00) Santiago" - }, - { - "text": "America/Santo_Domingo", - "value": "(UTC-04:00) Santo Domingo" - }, - { - "text": "Canada/Newfoundland", - "value": "(UTC-03:30) Newfoundland" - }, - { - "text": "America/Sao_Paulo", - "value": "(UTC-03:00) Brasilia" - }, - { - "text": "America/Argentina/Buenos_Aires", - "value": "(UTC-03:00) Buenos Aires" - }, - { - "text": "America/Argentina/GeorgeTown", - "value": "(UTC-03:00) Georgetown" - }, - { - "text": "America/Godthab", - "value": "(UTC-03:00) Greenland" - }, - { - "text": "America/Noronha", - "value": "(UTC-02:00) Mid-Atlantic" - }, - { - "text": "Atlantic/Azores", - "value": "(UTC-01:00) Azores" - }, - { - "text": "Atlantic/Cape_Verde", - "value": "(UTC-01:00) Cape Verde Is." - }, - { - "text": "Africa/Casablanca", - "value": "(UTC+00:00) Casablanca" - }, - { - "text": "Europe/Edinburgh", - "value": "(UTC+00:00) Edinburgh" - }, - { - "text": "Etc/Greenwich", - "value": "(UTC+00:00) Greenwich Mean Time : Dublin" - }, - { - "text": "Europe/Lisbon", - "value": "(UTC+00:00) Lisbon" - }, - { - "text": "Europe/London", - "value": "(UTC+00:00) London" - }, - { - "text": "Africa/Monrovia", - "value": "(UTC+00:00) Monrovia" - }, - { - "text": "UTC", - "value": "(UTC+00:00) UTC" - }, - { - "text": "Europe/Amsterdam", - "value": "(UTC+01:00) Amsterdam" - }, - { - "text": "Europe/Belgrade", - "value": "(UTC+01:00) Belgrade" - }, - { - "text": "Europe/Berlin", - "value": "(UTC+01:00) Berlin" - }, - { - "text": "Europe/Bern", - "value": "(UTC+01:00) Bern" - }, - { - "text": "Europe/Bratislava", - "value": "(UTC+01:00) Bratislava" - }, - { - "text": "Europe/Brussels", - "value": "(UTC+01:00) Brussels" - }, - { - "text": "Europe/Budapest", - "value": "(UTC+01:00) Budapest" - }, - { - "text": "Europe/Copenhagen", - "value": "(UTC+01:00) Copenhagen" - }, - { - "text": "Europe/Ljubljana", - "value": "(UTC+01:00) Ljubljana" - }, - { - "text": "Europe/Madrid", - "value": "(UTC+01:00) Madrid" - }, - { - "text": "Europe/Paris", - "value": "(UTC+01:00) Paris" - }, - { - "text": "Europe/Prague", - "value": "(UTC+01:00) Prague" - }, - { - "text": "Europe/Rome", - "value": "(UTC+01:00) Rome" - }, - { - "text": "Europe/Sarajevo", - "value": "(UTC+01:00) Sarajevo" - }, - { - "text": "Europe/Skopje", - "value": "(UTC+01:00) Skopje" - }, - { - "text": "Europe/Stockholm", - "value": "(UTC+01:00) Stockholm" - }, - { - "text": "Europe/Vienna", - "value": "(UTC+01:00) Vienna" - }, - { - "text": "Europe/Warsaw", - "value": "(UTC+01:00) Warsaw" - }, - { - "text": "Africa/Lagos", - "value": "(UTC+01:00) West Central Africa" - }, - { - "text": "Europe/Zagreb", - "value": "(UTC+01:00) Zagreb" - }, - { - "text": "Europe/Athens", - "value": "(UTC+02:00) Athens" - }, - { - "text": "Europe/Bucharest", - "value": "(UTC+02:00) Bucharest" - }, - { - "text": "Africa/Cairo", - "value": "(UTC+02:00) Cairo" - }, - { - "text": "Africa/Harare", - "value": "(UTC+02:00) Harare" - }, - { - "text": "Europe/Helsinki", - "value": "(UTC+02:00) Helsinki" - }, - { - "text": "Europe/Istanbul", - "value": "(UTC+02:00) Istanbul" - }, - { - "text": "Asia/Jerusalem", - "value": "(UTC+02:00) Jerusalem" - }, - { - "text": "Europe/Kyiv", - "value": "(UTC+02:00) Kyiv" - }, - { - "text": "Africa/Johannesburg", - "value": "(UTC+02:00) Pretoria" - }, - { - "text": "Europe/Riga", - "value": "(UTC+02:00) Riga" - }, - { - "text": "Europe/Sofia", - "value": "(UTC+02:00) Sofia" - }, - { - "text": "Europe/Tallinn", - "value": "(UTC+02:00) Tallinn" - }, - { - "text": "Europe/Vilnius", - "value": "(UTC+02:00) Vilnius" - }, - { - "text": "Asia/Baghdad", - "value": "(UTC+03:00) Baghdad" - }, - { - "text": "Asia/Kuwait", - "value": "(UTC+03:00) Kuwait" - }, - { - "text": "Europe/Minsk", - "value": "(UTC+03:00) Minsk" - }, - { - "text": "Africa/Nairobi", - "value": "(UTC+03:00) Nairobi" - }, - { - "text": "Asia/Riyadh", - "value": "(UTC+03:00) Riyadh" - }, - { - "text": "Europe/Volgograd", - "value": "(UTC+03:00) Volgograd" - }, - { - "text": "Asia/Tehran", - "value": "(UTC+03:30) Tehran" - }, - { - "text": "Asia/Abu_Dhabi", - "value": "(UTC+04:00) Abu Dhabi" - }, - { - "text": "Asia/Baku", - "value": "(UTC+04:00) Baku" - }, - { - "text": "Europe/Moscow", - "value": "(UTC+04:00) Moscow" - }, - { - "text": "Asia/Muscat", - "value": "(UTC+04:00) Muscat" - }, - { - "text": "Europe/St_Petersburg", - "value": "(UTC+04:00) St. Petersburg" - }, - { - "text": "Asia/Tbilisi", - "value": "(UTC+04:00) Tbilisi" - }, - { - "text": "Asia/Yerevan", - "value": "(UTC+04:00) Yerevan" - }, - { - "text": "Asia/Kabul", - "value": "(UTC+04:30) Kabul" - }, - { - "text": "Asia/Islamabad", - "value": "(UTC+05:00) Islamabad" - }, - { - "text": "Asia/Karachi", - "value": "(UTC+05:00) Karachi" - }, - { - "text": "Asia/Tashkent", - "value": "(UTC+05:00) Tashkent" - }, - { - "text": "Asia/Calcutta", - "value": "(UTC+05:30) Chennai" - }, - { - "text": "Asia/Kolkata", - "value": "(UTC+05:30) Kolkata" - }, - { - "text": "Asia/Mumbai", - "value": "(UTC+05:30) Mumbai" - }, - { - "text": "Asia/New_Delhi", - "value": "(UTC+05:30) New Delhi" - }, - { - "text": "Asia/Sri_Jayawardenepura", - "value": "(UTC+05:30) Sri Jayawardenepura" - }, - { - "text": "Asia/Katmandu", - "value": "(UTC+05:45) Kathmandu" - }, - { - "text": "Asia/Almaty", - "value": "(UTC+06:00) Almaty" - }, - { - "text": "Asia/Astana", - "value": "(UTC+06:00) Astana" - }, - { - "text": "Asia/Dhaka", - "value": "(UTC+06:00) Dhaka" - }, - { - "text": "Asia/Yekaterinburg", - "value": "(UTC+06:00) Ekaterinburg" - }, - { - "text": "Asia/Rangoon", - "value": "(UTC+06:30) Rangoon" - }, - { - "text": "Asia/Bangkok", - "value": "(UTC+07:00) Bangkok" - }, - { - "text": "Asia/Hanoi", - "value": "(UTC+07:00) Hanoi" - }, - { - "text": "Asia/Jakarta", - "value": "(UTC+07:00) Jakarta" - }, - { - "text": "Asia/Novosibirsk", - "value": "(UTC+07:00) Novosibirsk" - }, - { - "text": "Asia/Beijing", - "value": "(UTC+08:00) Beijing" - }, - { - "text": "Asia/Chongqing", - "value": "(UTC+08:00) Chongqing" - }, - { - "text": "Asia/Hong_Kong", - "value": "(UTC+08:00) Hong Kong" - }, - { - "text": "Asia/Krasnoyarsk", - "value": "(UTC+08:00) Krasnoyarsk" - }, - { - "text": "Asia/Kuala_Lumpur", - "value": "(UTC+08:00) Kuala Lumpur" - }, - { - "text": "Australia/Perth", - "value": "(UTC+08:00) Perth" - }, - { - "text": "Asia/Singapore", - "value": "(UTC+08:00) Singapore" - }, - { - "text": "Asia/Taipei", - "value": "(UTC+08:00) Taipei" - }, - { - "text": "Asia/Ulan_Bator", - "value": "(UTC+08:00) Ulaan Bataar" - }, - { - "text": "Asia/Urumqi", - "value": "(UTC+08:00) Urumqi" - }, - { - "text": "Asia/Irkutsk", - "value": "(UTC+09:00) Irkutsk" - }, - { - "text": "Asia/Osaka", - "value": "(UTC+09:00) Osaka" - }, - { - "text": "Asia/Sapporo", - "value": "(UTC+09:00) Sapporo" - }, - { - "text": "Asia/Seoul", - "value": "(UTC+09:00) Seoul" - }, - { - "text": "Asia/Tokyo", - "value": "(UTC+09:00) Tokyo" - }, - { - "text": "Australia/Adelaide", - "value": "(UTC+09:30) Adelaide" - }, - { - "text": "Australia/Darwin", - "value": "(UTC+09:30) Darwin" - }, - { - "text": "Australia/Brisbane", - "value": "(UTC+10:00) Brisbane" - }, - { - "text": "Australia/Canberra", - "value": "(UTC+10:00) Canberra" - }, - { - "text": "Pacific/Guam", - "value": "(UTC+10:00) Guam" - }, - { - "text": "Australia/Hobart", - "value": "(UTC+10:00) Hobart" - }, - { - "text": "Australia/Melbourne", - "value": "(UTC+10:00) Melbourne" - }, - { - "text": "Pacific/Port_Moresby", - "value": "(UTC+10:00) Port Moresby" - }, - { - "text": "Australia/Sydney", - "value": "(UTC+10:00) Sydney" - }, - { - "text": "Asia/Yakutsk", - "value": "(UTC+10:00) Yakutsk" - }, - { - "text": "Asia/Vladivostok", - "value": "(UTC+11:00) Vladivostok" - }, - { - "text": "Pacific/Auckland", - "value": "(UTC+12:00) Auckland" - }, - { - "text": "Pacific/Fiji", - "value": "(UTC+12:00) Fiji" - }, - { - "text": "Pacific/Kwajalein", - "value": "(UTC+12:00) International Date Line West" - }, - { - "text": "Asia/Kamchatka", - "value": "(UTC+12:00) Kamchatka" - }, - { - "text": "Asia/Magadan", - "value": "(UTC+12:00) Magadan" - }, - { - "text": "Pacific/Marshall_Is", - "value": "(UTC+12:00) Marshall Is." - }, - { - "text": "Asia/New_Caledonia", - "value": "(UTC+12:00) New Caledonia" - }, - { - "text": "Asia/Solomon_Is", - "value": "(UTC+12:00) Solomon Is." - }, - { - "text": "Pacific/Wellington", - "value": "(UTC+12:00) Wellington" - }, - { - "text": "Pacific/Tongatapu", - "value": "(UTC+13:00) Nuku'alofa" - } - ], - "placeholder": "Choose a timezone..." - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "32" - }, - "language": { - "collection": "directus_users", - "field": "language", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "en-US", - "note": "", - "signed": true, - "id": 853, - "type": "string", - "sort": 12, - "interface": "language", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "limit": true - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "8" - }, - "avatar": { - "collection": "directus_users", - "field": "avatar", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 854, - "type": "file", - "sort": 13, - "interface": "file", - "display": "image", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "company": { - "collection": "directus_users", - "field": "company", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 850, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "location_city" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "191" - }, - "title": { - "collection": "directus_users", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 851, - "type": "string", - "sort": 10, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "text_fields" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "191" - }, - "email_notifications": { - "collection": "directus_users", - "field": "email_notifications", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "1", - "note": "", - "signed": true, - "id": 847, - "type": "boolean", - "sort": 6, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "last_login": { - "collection": "directus_users", - "field": "last_login", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 859, - "type": "datetime", - "sort": 18, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": null - }, - "last_page": { - "collection": "directus_users", - "field": "last_page", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 860, - "type": "string", - "sort": 19, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "192" - }, - "external_id": { - "collection": "directus_users", - "field": "external_id", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 861, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "2fa_secret": { - "collection": "directus_users", - "field": "2fa_secret", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 856, - "type": "string", - "sort": 15, - "interface": "2fa-secret", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255" - }, - "theme": { - "collection": "directus_users", - "field": "theme", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "auto", - "note": "", - "signed": true, - "id": 855, - "type": "string", - "sort": 14, - "interface": "radio-buttons", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "format": true, - "choices": [ - { - "value": "auto", - "text": "Auto" - }, - { - "value": "light", - "text": "Light" - }, - { - "value": "dark", - "text": "Dark" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100" - }, - "role": { - "collection": "directus_users", - "field": "role", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 849, - "type": "m2o", - "sort": 8, - "interface": "user-roles", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10" - }, - "password_reset_token": { - "collection": "directus_users", - "field": "password_reset_token", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 894, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "520" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Users" - }, - { - "collection": "directus_webhooks", - "note": null, - "hidden": false, - "single": false, - "managed": false, - "fields": { - "id": { - "collection": "directus_webhooks", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 870, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10" - }, - "status": { - "collection": "directus_webhooks", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "inactive", - "note": "", - "signed": true, - "id": 871, - "type": "status", - "sort": 1, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "status_mapping": { - "active": { - "name": "Active", - "value": "active", - "text_color": "white", - "background_color": "green", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true - }, - "inactive": { - "name": "Inactive", - "value": "inactive", - "text_color": "white", - "background_color": "blue-grey", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false - } - } - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "space-half", - "validation": null, - "group": null, - "length": "16" - }, - "http_action": { - "collection": "directus_webhooks", - "field": "http_action", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 872, - "type": "string", - "sort": 2, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "get", - "text": "GET" - }, - { - "value": "post", - "text": "POST" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "url": { - "collection": "directus_webhooks", - "field": "url", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 873, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "https://example.com", - "iconRight": "link" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "510" - }, - "directus_action": { - "collection": "directus_webhooks", - "field": "directus_action", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 875, - "type": "string", - "sort": 5, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "item.create:after", - "text": "Create" - }, - { - "value": "item.update:after", - "text": "Update" - }, - { - "value": "item.delete:after", - "text": "Delete" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255" - }, - "collection": { - "collection": "directus_webhooks", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 874, - "type": "string", - "sort": 4, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255" - } - }, - "translation": null, - "icon": "box", - "name": "Directus Webhooks" - } - ] -} diff --git a/app/.storybook/mock-data/fields.json b/app/.storybook/mock-data/fields.json deleted file mode 100644 index 0c43fa0d96..0000000000 --- a/app/.storybook/mock-data/fields.json +++ /dev/null @@ -1,11512 +0,0 @@ -{ - "fields": [ - { - "collection": "about_us", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 167, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "about_us", - "field": "our_process", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 197, - "type": "string", - "sort": 2, - "interface": "wysiwyg", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "link", - "code" - ], - "custom_formats": null - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Our Process" - }, - { - "collection": "about_us", - "field": "date_founded", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 199, - "type": "date", - "sort": 6, - "interface": "calendar", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "min": "2019-09-15" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Date Founded" - }, - { - "collection": "about_us", - "field": "new_business_email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 322, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "New Business Email" - }, - { - "collection": "about_us", - "field": "general_email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 323, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "General Email" - }, - { - "collection": "about_us", - "field": "one_sheet", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 324, - "type": "file", - "sort": 5, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "layout": "cards", - "layoutOptions": { - "title": "title", - "subtitle": "type", - "content": "description", - "src": "data" - }, - "layoutQuery": [], - "filters": [] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "One Sheet" - }, - { - "collection": "about_us", - "field": "brand_color_primary", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 877, - "type": "string", - "sort": 8, - "interface": "color", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "format": "hex", - "palette": [ - "#E91E63", - "#F44336", - "#FF9800", - "#FFC107", - "#FFEB3B", - "#CDDC39", - "#4CAF50", - "#00BCD4", - "#2196F3", - "#3F51B5", - "#9C27B0", - "#607D8B" - ], - "paletteOnly": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20", - "name": "Brand Color Primary" - }, - { - "collection": "about_us", - "field": "brand_color_secondary", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 878, - "type": "string", - "sort": 9, - "interface": "color", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "format": "hex", - "palette": [ - "#E91E63", - "#F44336", - "#FF9800", - "#FFC107", - "#FFEB3B", - "#CDDC39", - "#4CAF50", - "#00BCD4", - "#2196F3", - "#3F51B5", - "#9C27B0", - "#607D8B" - ], - "paletteOnly": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20", - "name": "Brand Color Secondary" - }, - { - "collection": "about_us", - "field": "brand_logo", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 881, - "type": "file", - "sort": null, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "layout": "cards", - "layoutOptions": { - "title": "title", - "subtitle": "type", - "content": "description", - "src": "data" - }, - "layoutQuery": [], - "filters": [] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Brand Logo" - }, - { - "collection": "about_us", - "field": "global", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 880, - "type": "ALIAS", - "sort": 7, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "style": "large", - "title": "Brand Details", - "description": "The following fields are only editable by administrators", - "hr": true, - "margin": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Global" - }, - { - "collection": "analytics", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 177, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "analytics", - "field": "active_users", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": true, - "id": 346, - "type": "integer", - "sort": null, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "localized": true, - "iconRight": "people" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Active Users" - }, - { - "collection": "analytics", - "field": "page_visits", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 350, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Page Visits" - }, - { - "collection": "analytics", - "field": "page_views", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 351, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Page Views" - }, - { - "collection": "customers", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 183, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "customers", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 184, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - }, - "simpleBadge": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "customers", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 185, - "type": "datetime_created", - "sort": 19, - "interface": "datetime-created", - "display": "datetime", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "customers", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 290, - "type": "string", - "sort": 6, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "First Name" - }, - { - "collection": "customers", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 291, - "type": "string", - "sort": 7, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Last Name" - }, - { - "collection": "customers", - "field": "email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 292, - "type": "string", - "sort": 10, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "alternate_email", - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Email" - }, - { - "collection": "customers", - "field": "phone", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 293, - "type": "string", - "sort": 11, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "local_phone", - "placeholder": "(000) 000-0000", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Phone" - }, - { - "collection": "customers", - "field": "description", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 294, - "type": "string", - "sort": 14, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": "4", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Description" - }, - { - "collection": "customers", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 295, - "type": "string", - "sort": 8, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "title" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Title" - }, - { - "collection": "customers", - "field": "owner", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 296, - "type": "m2o", - "sort": 3, - "interface": "many-to-one", - "display": "template", - "display_options": { - "template": "{{ first_name }} {{ last_name }}" - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Select an owner...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Owner" - }, - { - "collection": "customers", - "field": "company", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 297, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "location_city", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Company" - }, - { - "collection": "customers", - "field": "birthday", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 298, - "type": "date", - "sort": 12, - "interface": "date", - "display": "datetime", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "localized": true, - "showRelative": true, - "iconRight": "cake" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Birthday" - }, - { - "collection": "customers", - "field": "source", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "other", - "note": "", - "signed": true, - "id": 299, - "type": "string", - "sort": 16, - "interface": "radio-buttons", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "web", - "text": "Web" - }, - { - "value": "phone", - "text": "Phone" - }, - { - "value": "referral", - "text": "Referral" - }, - { - "value": "other", - "text": "Other" - } - ], - "format": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "100", - "name": "Source" - }, - { - "collection": "customers", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 300, - "type": "owner", - "sort": 18, - "interface": "owner", - "display": "user", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "name" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "customers", - "field": "account_id", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 301, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "vpn_key", - "placeholder": "XXXX-XXXX", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20", - "name": "Account ID" - }, - { - "collection": "customers", - "field": "rating", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 303, - "type": "integer", - "sort": 13, - "interface": "rating", - "display": "rating", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "active_color": "amber", - "maxStars": 5, - "display": "star" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Rating" - }, - { - "collection": "customers", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 304, - "type": "array", - "sort": 15, - "interface": "tags", - "display": "tags", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "local_offer", - "validationMessage": "Please enter a valid tag", - "alphabetize": true, - "lowercase": false, - "wrap": false, - "format": false, - "sanitize": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "2000", - "name": "Tags" - }, - { - "collection": "customers", - "field": "modified_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 305, - "type": "user_updated", - "sort": 21, - "interface": "user-updated", - "display": "user", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "name" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Modified By" - }, - { - "collection": "customers", - "field": "modified_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 306, - "type": "datetime_updated", - "sort": 20, - "interface": "datetime-updated", - "display": "datetime", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Modified On" - }, - { - "collection": "customers", - "field": "customer_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 884, - "type": "ALIAS", - "sort": 5, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "icon": "person", - "title": "Customer", - "color": "#2F80ED" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Customer Divider" - }, - { - "collection": "customers", - "field": "system_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 885, - "type": "ALIAS", - "sort": 17, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "style": "large", - "title": "", - "hr": true, - "margin": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "System Divider" - }, - { - "collection": "directus_activity", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 728, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_activity", - "field": "action", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 729, - "type": "string", - "sort": 1, - "interface": "activity-icon", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "change_history" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "45", - "name": "Action" - }, - { - "collection": "directus_activity", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 732, - "type": "integer", - "sort": 4, - "interface": "user", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "account_circle", - "display": "both" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Action By" - }, - { - "collection": "directus_activity", - "field": "timestamp", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 733, - "type": "datetime", - "sort": 5, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "showRelative": true, - "iconRight": "calendar_today" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Action On" - }, - { - "collection": "directus_activity", - "field": "ip", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 736, - "type": "string", - "sort": 8, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "my_location" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "50", - "name": "IP" - }, - { - "collection": "directus_activity", - "field": "user_agent", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 737, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "devices_other" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "User Agent" - }, - { - "collection": "directus_activity", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 730, - "type": "string", - "sort": 2, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "list_alt" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "64", - "name": "Collection" - }, - { - "collection": "directus_activity", - "field": "item", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 731, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "link" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "Item" - }, - { - "collection": "directus_activity", - "field": "edited_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 734, - "type": "datetime", - "sort": 6, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "showRelative": true, - "iconRight": "edit" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Edited On" - }, - { - "collection": "directus_activity", - "field": "comment", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 738, - "type": "string", - "sort": 10, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Comment" - }, - { - "collection": "directus_activity", - "field": "comment_deleted_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 735, - "type": "datetime", - "sort": 7, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "showRelative": true, - "iconRight": "delete_outline" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Comment Deleted On" - }, - { - "collection": "directus_collections", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": true, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 750, - "type": "string", - "sort": 2, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "64", - "name": "Collection" - }, - { - "collection": "directus_collections", - "field": "managed", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "1", - "note": "[Learn More](https://docs.directus.io/guides/collections.html#managing-collections).", - "signed": false, - "id": 752, - "type": "boolean", - "sort": 4, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "3", - "name": "Managed" - }, - { - "collection": "directus_collections", - "field": "hidden", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "[Learn More](https://docs.directus.io/guides/collections.html#hidden).", - "signed": false, - "id": 753, - "type": "boolean", - "sort": 5, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "3", - "name": "Hidden" - }, - { - "collection": "directus_collections", - "field": "single", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "[Learn More](https://docs.directus.io/guides/collections.html#single).", - "signed": false, - "id": 754, - "type": "boolean", - "sort": 6, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "3", - "name": "Single" - }, - { - "collection": "directus_collections", - "field": "icon", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "The icon shown in the App's navigation sidebar.", - "signed": true, - "id": 756, - "type": "string", - "sort": 8, - "interface": "icon", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "30", - "name": "Icon" - }, - { - "collection": "directus_collections", - "field": "note", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "An internal description.", - "signed": true, - "id": 751, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "Note" - }, - { - "collection": "directus_collections", - "field": "translation", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 755, - "type": "json", - "sort": 7, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": [ - { - "field": "language", - "type": "string", - "interface": "language", - "options": { - "limit": true - }, - "width": "half" - }, - { - "field": "translation", - "type": "string", - "interface": "text-input", - "width": "half" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Translation" - }, - { - "collection": "directus_collections", - "field": "display_template", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "What template to use to reference individual items in this collection.", - "signed": true, - "id": 899, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "{{ name }} – ({{ title }})" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255", - "name": "Display Template" - }, - { - "collection": "directus_collections", - "field": "fields", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 749, - "type": "O2M", - "sort": 1, - "interface": "one-to-many", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Fields" - }, - { - "collection": "directus_collection_presets", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 739, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_collection_presets", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 740, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Title" - }, - { - "collection": "directus_collection_presets", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 741, - "type": "integer", - "sort": null, - "interface": "user", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "User" - }, - { - "collection": "directus_collection_presets", - "field": "role", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 742, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Role" - }, - { - "collection": "directus_collection_presets", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 743, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Collection" - }, - { - "collection": "directus_collection_presets", - "field": "search", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 744, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Search Query" - }, - { - "collection": "directus_collection_presets", - "field": "filters", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 745, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Filters" - }, - { - "collection": "directus_collection_presets", - "field": "layout", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "tabular", - "note": "", - "signed": true, - "id": 747, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "View Type" - }, - { - "collection": "directus_collection_presets", - "field": "layout_query", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 748, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "View Query" - }, - { - "collection": "directus_collection_presets", - "field": "layout_options", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 746, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "View Options" - }, - { - "collection": "directus_collection_presets", - "field": "translation", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Translation" - }, - { - "collection": "directus_fields", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 711, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_fields", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 712, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Collection" - }, - { - "collection": "directus_fields", - "field": "field", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 713, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Field" - }, - { - "collection": "directus_fields", - "field": "type", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 714, - "type": "string", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Type" - }, - { - "collection": "directus_fields", - "field": "interface", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 715, - "type": "string", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Interface" - }, - { - "collection": "directus_fields", - "field": "options", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 716, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Options" - }, - { - "collection": "directus_fields", - "field": "display", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 897, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Display" - }, - { - "collection": "directus_fields", - "field": "display_options", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 898, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Display Options" - }, - { - "collection": "directus_fields", - "field": "locked", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 717, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Locked" - }, - { - "collection": "directus_fields", - "field": "validation", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 720, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "500", - "name": "Validation" - }, - { - "collection": "directus_fields", - "field": "required", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 721, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Required" - }, - { - "collection": "directus_fields", - "field": "readonly", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 719, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Readonly" - }, - { - "collection": "directus_fields", - "field": "hidden_detail", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 724, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Hidden Detail" - }, - { - "collection": "directus_fields", - "field": "hidden_browse", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 725, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Hidden Browse" - }, - { - "collection": "directus_fields", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 722, - "type": "sort", - "sort": null, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Sort" - }, - { - "collection": "directus_fields", - "field": "width", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 726, - "type": "integer", - "sort": null, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "30", - "name": "Width" - }, - { - "collection": "directus_fields", - "field": "group", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 727, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Group" - }, - { - "collection": "directus_fields", - "field": "note", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 723, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1024", - "name": "Note" - }, - { - "collection": "directus_fields", - "field": "translation", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 718, - "type": "json", - "sort": null, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": [ - { - "field": "language", - "type": "string", - "interface": "language", - "options": { - "limit": true - }, - "width": "half" - }, - { - "field": "translation", - "type": "string", - "interface": "text-input", - "width": "half" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Translation" - }, - { - "collection": "directus_files", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": true, - "id": 774, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_files", - "field": "storage", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "local", - "note": "", - "signed": true, - "id": 779, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "50", - "name": "Storage" - }, - { - "collection": "directus_files", - "field": "filename_disk", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 763, - "type": "string", - "sort": 7, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "placeholder": "Enter a unique file name...", - "iconRight": "insert_drive_file" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255", - "name": "Filename Disk" - }, - { - "collection": "directus_files", - "field": "filename_download", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "", - "note": "", - "signed": true, - "id": 762, - "type": "string", - "sort": 6, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "monospace": true, - "iconRight": "get_app" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255", - "name": "Filename Download" - }, - { - "collection": "directus_files", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 758, - "type": "string", - "sort": 2, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "Enter a descriptive title...", - "iconRight": "title" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255", - "name": "Title" - }, - { - "collection": "directus_files", - "field": "type", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 775, - "type": "string", - "sort": null, - "interface": "text-input", - "display": "mime-type", - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Type" - }, - { - "collection": "directus_files", - "field": "uploaded_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 767, - "type": "owner", - "sort": 11, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Uploaded By" - }, - { - "collection": "directus_files", - "field": "uploaded_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 766, - "type": "datetime", - "sort": 10, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "today" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Uploaded On" - }, - { - "collection": "directus_files", - "field": "charset", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 776, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "50", - "name": "Charset" - }, - { - "collection": "directus_files", - "field": "filesize", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 771, - "type": "integer", - "sort": 15, - "interface": "file-size", - "display": "filesize", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "storage" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Filesize" - }, - { - "collection": "directus_files", - "field": "width", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 768, - "type": "integer", - "sort": 12, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "straighten" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Width" - }, - { - "collection": "directus_files", - "field": "height", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 769, - "type": "integer", - "sort": 13, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "straighten" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Height" - }, - { - "collection": "directus_files", - "field": "duration", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 770, - "type": "integer", - "sort": 14, - "interface": "numeric", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "timer" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Duration" - }, - { - "collection": "directus_files", - "field": "embed", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 777, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "200", - "name": "Embed" - }, - { - "collection": "directus_files", - "field": "folder", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 778, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Folder" - }, - { - "collection": "directus_files", - "field": "description", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 761, - "type": "string", - "sort": 5, - "interface": "wysiwyg", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "link", - "code" - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Description" - }, - { - "collection": "directus_files", - "field": "location", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 760, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "Enter a location...", - "iconRight": "place" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Location" - }, - { - "collection": "directus_files", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 759, - "type": "array", - "sort": 3, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "Enter a keyword then hit enter..." - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "Tags" - }, - { - "collection": "directus_files", - "field": "checksum", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 765, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "check", - "monospace": true - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "32", - "name": "Checksum" - }, - { - "collection": "directus_files", - "field": "private_hash", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 764, - "type": "slug", - "sort": 8, - "interface": "slug", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "lock" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "16", - "name": "Private Hash" - }, - { - "collection": "directus_files", - "field": "metadata", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 772, - "type": "json", - "sort": 15, - "interface": "key-value", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "keyInterface": "text-input", - "keyDataType": "string", - "keyOptions": { - "monospace": true, - "placeholder": "Key" - }, - "valueInterface": "text-input", - "valueDataType": "string", - "valueOptions": { - "monospace": true, - "placeholder": "Value" - } - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Metadata" - }, - { - "collection": "directus_files", - "field": "data", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 773, - "type": "ALIAS", - "sort": null, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Data" - }, - { - "collection": "directus_folders", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 780, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_folders", - "field": "name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 781, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "191", - "name": "Name" - }, - { - "collection": "directus_folders", - "field": "parent", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 782, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Parent Folder" - }, - { - "collection": "directus_migrations", - "field": "version", - "datatype": "BIGINT", - "unique": false, - "primary_key": true, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "19", - "name": "Version" - }, - { - "collection": "directus_migrations", - "field": "migration_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Migration Name" - }, - { - "collection": "directus_migrations", - "field": "start_time", - "datatype": "TIMESTAMP", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Start Time" - }, - { - "collection": "directus_migrations", - "field": "end_time", - "datatype": "TIMESTAMP", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "End Time" - }, - { - "collection": "directus_migrations", - "field": "breakpoint", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Breakpoint" - }, - { - "collection": "directus_permissions", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 792, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_permissions", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 793, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Collection" - }, - { - "collection": "directus_permissions", - "field": "role", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 794, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Role" - }, - { - "collection": "directus_permissions", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 795, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Status" - }, - { - "collection": "directus_permissions", - "field": "create", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 796, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16", - "name": "Create" - }, - { - "collection": "directus_permissions", - "field": "read", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 797, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16", - "name": "Read" - }, - { - "collection": "directus_permissions", - "field": "update", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 798, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16", - "name": "Update" - }, - { - "collection": "directus_permissions", - "field": "delete", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 799, - "type": "string", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16", - "name": "Delete" - }, - { - "collection": "directus_permissions", - "field": "comment", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 800, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "8", - "name": "Comment" - }, - { - "collection": "directus_permissions", - "field": "explain", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "none", - "note": "", - "signed": true, - "id": 801, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "8", - "name": "Explain" - }, - { - "collection": "directus_permissions", - "field": "read_field_blacklist", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 803, - "type": "array", - "sort": null, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1000", - "name": "Read Field Blacklist" - }, - { - "collection": "directus_permissions", - "field": "write_field_blacklist", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 804, - "type": "array", - "sort": null, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1000", - "name": "Write Field Blacklist" - }, - { - "collection": "directus_permissions", - "field": "status_blacklist", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 802, - "type": "array", - "sort": null, - "interface": "tags", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "1000", - "name": "Status Blacklist" - }, - { - "collection": "directus_relations", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 805, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_relations", - "field": "collection_many", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 806, - "type": "string", - "sort": null, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Collection Many" - }, - { - "collection": "directus_relations", - "field": "field_many", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 807, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "45", - "name": "Field Many" - }, - { - "collection": "directus_relations", - "field": "collection_one", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 808, - "type": "string", - "sort": null, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Collection One" - }, - { - "collection": "directus_relations", - "field": "field_one", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 809, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Field One" - }, - { - "collection": "directus_relations", - "field": "junction_field", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 810, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Junction Field" - }, - { - "collection": "directus_revisions", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 811, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_revisions", - "field": "activity", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 812, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Activity" - }, - { - "collection": "directus_revisions", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 813, - "type": "m2o", - "sort": null, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Collection" - }, - { - "collection": "directus_revisions", - "field": "item", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 814, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Item" - }, - { - "collection": "directus_revisions", - "field": "data", - "datatype": "LONGTEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 815, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Data" - }, - { - "collection": "directus_revisions", - "field": "delta", - "datatype": "LONGTEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 816, - "type": "json", - "sort": null, - "interface": "json", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Delta" - }, - { - "collection": "directus_revisions", - "field": "parent_collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 818, - "type": "string", - "sort": null, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "64", - "name": "Parent Collection" - }, - { - "collection": "directus_revisions", - "field": "parent_item", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 817, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Parent Item" - }, - { - "collection": "directus_revisions", - "field": "parent_changed", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "0", - "note": "", - "signed": false, - "id": 819, - "type": "boolean", - "sort": null, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Parent Changed" - }, - { - "collection": "directus_roles", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 783, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_roles", - "field": "name", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 785, - "type": "string", - "sort": 1, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100", - "name": "Name" - }, - { - "collection": "directus_roles", - "field": "description", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 786, - "type": "string", - "sort": 2, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "500", - "name": "Description" - }, - { - "collection": "directus_roles", - "field": "ip_whitelist", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 787, - "type": "array", - "sort": null, - "interface": "tags", - "display": "tags", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "IP Whitelist" - }, - { - "collection": "directus_roles", - "field": "external_id", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 784, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "External ID" - }, - { - "collection": "directus_roles", - "field": "enforce_2fa", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Enforce 2FA" - }, - { - "collection": "directus_roles", - "field": "module_listing", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 790, - "type": "json", - "sort": null, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{ name }}", - "createItemText": "Add Module", - "fields": [ - { - "name": "Name", - "field": "name", - "interface": "text-input", - "type": "string", - "width": "half" - }, - { - "name": "Link", - "field": "link", - "interface": "text-input", - "type": "string", - "width": "half" - }, - { - "name": "Icon", - "field": "icon", - "interface": "icon", - "type": "string", - "width": "full" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Module Listing" - }, - { - "collection": "directus_roles", - "field": "nav_override", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Nav Override" - }, - { - "collection": "directus_roles", - "field": "collection_listing", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 791, - "type": "json", - "sort": null, - "interface": "repeater", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{ group_name }}", - "createItemText": "Add Group", - "fields": [ - { - "name": "Group Name", - "field": "group_name", - "width": "full", - "interface": "text-input", - "type": "string" - }, - { - "name": "Collection", - "field": "collections", - "interface": "repeater", - "type": "JSON", - "options": { - "createItemText": "Add Collection", - "template": "{{ collection }}", - "fields": [ - { - "name": "Collection", - "field": "collection", - "type": "string", - "interface": "collections", - "width": "full" - } - ] - } - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Collection Listing" - }, - { - "collection": "directus_roles", - "field": "users", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 789, - "type": "O2M", - "sort": null, - "interface": "one-to-many", - "display": "template", - "display_options": { - "template": "{{ first_name }} {{ last_name }}" - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "first_name,last_name" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Users" - }, - { - "collection": "directus_users", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 842, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_users", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 844, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "account_circle" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "50", - "name": "First Name" - }, - { - "collection": "directus_users", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 845, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "account_circle" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "50", - "name": "Last Name" - }, - { - "collection": "directus_users", - "field": "email", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 846, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "iconRight": "alternate_email" - }, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": "$email", - "group": null, - "length": "128", - "name": "Email" - }, - { - "collection": "directus_users", - "field": "password", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 848, - "type": "hash", - "sort": 7, - "interface": "password", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "Password" - }, - { - "collection": "directus_users", - "field": "token", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 858, - "type": "string", - "sort": 17, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Token" - }, - { - "collection": "directus_users", - "field": "timezone", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "America/New_York", - "note": "", - "signed": true, - "id": 852, - "type": "string", - "sort": 11, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "choices": [ - { - "text": "Pacific/Midway", - "value": "(UTC-11:00) Midway Island" - }, - { - "text": "Pacific/Samoa", - "value": "(UTC-11:00) Samoa" - }, - { - "text": "Pacific/Honolulu", - "value": "(UTC-10:00) Hawaii" - }, - { - "text": "US/Alaska", - "value": "(UTC-09:00) Alaska" - }, - { - "text": "America/Los_Angeles", - "value": "(UTC-08:00) Pacific Time (US & Canada)" - }, - { - "text": "America/Tijuana", - "value": "(UTC-08:00) Tijuana" - }, - { - "text": "US/Arizona", - "value": "(UTC-07:00) Arizona" - }, - { - "text": "America/Chihuahua", - "value": "(UTC-07:00) Chihuahua" - }, - { - "text": "America/Mexico/La_Paz", - "value": "(UTC-07:00) La Paz" - }, - { - "text": "America/Mazatlan", - "value": "(UTC-07:00) Mazatlan" - }, - { - "text": "US/Mountain", - "value": "(UTC-07:00) Mountain Time (US & Canada)" - }, - { - "text": "America/Managua", - "value": "(UTC-06:00) Central America" - }, - { - "text": "US/Central", - "value": "(UTC-06:00) Central Time (US & Canada)" - }, - { - "text": "America/Guadalajara", - "value": "(UTC-06:00) Guadalajara" - }, - { - "text": "America/Mexico_City", - "value": "(UTC-06:00) Mexico City" - }, - { - "text": "America/Monterrey", - "value": "(UTC-06:00) Monterrey" - }, - { - "text": "Canada/Saskatchewan", - "value": "(UTC-06:00) Saskatchewan" - }, - { - "text": "America/Bogota", - "value": "(UTC-05:00) Bogota" - }, - { - "text": "US/Eastern", - "value": "(UTC-05:00) Eastern Time (US & Canada)" - }, - { - "text": "US/East-Indiana", - "value": "(UTC-05:00) Indiana (East)" - }, - { - "text": "America/Lima", - "value": "(UTC-05:00) Lima" - }, - { - "text": "America/Quito", - "value": "(UTC-05:00) Quito" - }, - { - "text": "Canada/Atlantic", - "value": "(UTC-04:00) Atlantic Time (Canada)" - }, - { - "text": "America/New_York", - "value": "(UTC-04:00) New York" - }, - { - "text": "America/Caracas", - "value": "(UTC-04:30) Caracas" - }, - { - "text": "America/La_Paz", - "value": "(UTC-04:00) La Paz" - }, - { - "text": "America/Santiago", - "value": "(UTC-04:00) Santiago" - }, - { - "text": "America/Santo_Domingo", - "value": "(UTC-04:00) Santo Domingo" - }, - { - "text": "Canada/Newfoundland", - "value": "(UTC-03:30) Newfoundland" - }, - { - "text": "America/Sao_Paulo", - "value": "(UTC-03:00) Brasilia" - }, - { - "text": "America/Argentina/Buenos_Aires", - "value": "(UTC-03:00) Buenos Aires" - }, - { - "text": "America/Argentina/GeorgeTown", - "value": "(UTC-03:00) Georgetown" - }, - { - "text": "America/Godthab", - "value": "(UTC-03:00) Greenland" - }, - { - "text": "America/Noronha", - "value": "(UTC-02:00) Mid-Atlantic" - }, - { - "text": "Atlantic/Azores", - "value": "(UTC-01:00) Azores" - }, - { - "text": "Atlantic/Cape_Verde", - "value": "(UTC-01:00) Cape Verde Is." - }, - { - "text": "Africa/Casablanca", - "value": "(UTC+00:00) Casablanca" - }, - { - "text": "Europe/Edinburgh", - "value": "(UTC+00:00) Edinburgh" - }, - { - "text": "Etc/Greenwich", - "value": "(UTC+00:00) Greenwich Mean Time : Dublin" - }, - { - "text": "Europe/Lisbon", - "value": "(UTC+00:00) Lisbon" - }, - { - "text": "Europe/London", - "value": "(UTC+00:00) London" - }, - { - "text": "Africa/Monrovia", - "value": "(UTC+00:00) Monrovia" - }, - { - "text": "UTC", - "value": "(UTC+00:00) UTC" - }, - { - "text": "Europe/Amsterdam", - "value": "(UTC+01:00) Amsterdam" - }, - { - "text": "Europe/Belgrade", - "value": "(UTC+01:00) Belgrade" - }, - { - "text": "Europe/Berlin", - "value": "(UTC+01:00) Berlin" - }, - { - "text": "Europe/Bern", - "value": "(UTC+01:00) Bern" - }, - { - "text": "Europe/Bratislava", - "value": "(UTC+01:00) Bratislava" - }, - { - "text": "Europe/Brussels", - "value": "(UTC+01:00) Brussels" - }, - { - "text": "Europe/Budapest", - "value": "(UTC+01:00) Budapest" - }, - { - "text": "Europe/Copenhagen", - "value": "(UTC+01:00) Copenhagen" - }, - { - "text": "Europe/Ljubljana", - "value": "(UTC+01:00) Ljubljana" - }, - { - "text": "Europe/Madrid", - "value": "(UTC+01:00) Madrid" - }, - { - "text": "Europe/Paris", - "value": "(UTC+01:00) Paris" - }, - { - "text": "Europe/Prague", - "value": "(UTC+01:00) Prague" - }, - { - "text": "Europe/Rome", - "value": "(UTC+01:00) Rome" - }, - { - "text": "Europe/Sarajevo", - "value": "(UTC+01:00) Sarajevo" - }, - { - "text": "Europe/Skopje", - "value": "(UTC+01:00) Skopje" - }, - { - "text": "Europe/Stockholm", - "value": "(UTC+01:00) Stockholm" - }, - { - "text": "Europe/Vienna", - "value": "(UTC+01:00) Vienna" - }, - { - "text": "Europe/Warsaw", - "value": "(UTC+01:00) Warsaw" - }, - { - "text": "Africa/Lagos", - "value": "(UTC+01:00) West Central Africa" - }, - { - "text": "Europe/Zagreb", - "value": "(UTC+01:00) Zagreb" - }, - { - "text": "Europe/Athens", - "value": "(UTC+02:00) Athens" - }, - { - "text": "Europe/Bucharest", - "value": "(UTC+02:00) Bucharest" - }, - { - "text": "Africa/Cairo", - "value": "(UTC+02:00) Cairo" - }, - { - "text": "Africa/Harare", - "value": "(UTC+02:00) Harare" - }, - { - "text": "Europe/Helsinki", - "value": "(UTC+02:00) Helsinki" - }, - { - "text": "Europe/Istanbul", - "value": "(UTC+02:00) Istanbul" - }, - { - "text": "Asia/Jerusalem", - "value": "(UTC+02:00) Jerusalem" - }, - { - "text": "Europe/Kyiv", - "value": "(UTC+02:00) Kyiv" - }, - { - "text": "Africa/Johannesburg", - "value": "(UTC+02:00) Pretoria" - }, - { - "text": "Europe/Riga", - "value": "(UTC+02:00) Riga" - }, - { - "text": "Europe/Sofia", - "value": "(UTC+02:00) Sofia" - }, - { - "text": "Europe/Tallinn", - "value": "(UTC+02:00) Tallinn" - }, - { - "text": "Europe/Vilnius", - "value": "(UTC+02:00) Vilnius" - }, - { - "text": "Asia/Baghdad", - "value": "(UTC+03:00) Baghdad" - }, - { - "text": "Asia/Kuwait", - "value": "(UTC+03:00) Kuwait" - }, - { - "text": "Europe/Minsk", - "value": "(UTC+03:00) Minsk" - }, - { - "text": "Africa/Nairobi", - "value": "(UTC+03:00) Nairobi" - }, - { - "text": "Asia/Riyadh", - "value": "(UTC+03:00) Riyadh" - }, - { - "text": "Europe/Volgograd", - "value": "(UTC+03:00) Volgograd" - }, - { - "text": "Asia/Tehran", - "value": "(UTC+03:30) Tehran" - }, - { - "text": "Asia/Abu_Dhabi", - "value": "(UTC+04:00) Abu Dhabi" - }, - { - "text": "Asia/Baku", - "value": "(UTC+04:00) Baku" - }, - { - "text": "Europe/Moscow", - "value": "(UTC+04:00) Moscow" - }, - { - "text": "Asia/Muscat", - "value": "(UTC+04:00) Muscat" - }, - { - "text": "Europe/St_Petersburg", - "value": "(UTC+04:00) St. Petersburg" - }, - { - "text": "Asia/Tbilisi", - "value": "(UTC+04:00) Tbilisi" - }, - { - "text": "Asia/Yerevan", - "value": "(UTC+04:00) Yerevan" - }, - { - "text": "Asia/Kabul", - "value": "(UTC+04:30) Kabul" - }, - { - "text": "Asia/Islamabad", - "value": "(UTC+05:00) Islamabad" - }, - { - "text": "Asia/Karachi", - "value": "(UTC+05:00) Karachi" - }, - { - "text": "Asia/Tashkent", - "value": "(UTC+05:00) Tashkent" - }, - { - "text": "Asia/Calcutta", - "value": "(UTC+05:30) Chennai" - }, - { - "text": "Asia/Kolkata", - "value": "(UTC+05:30) Kolkata" - }, - { - "text": "Asia/Mumbai", - "value": "(UTC+05:30) Mumbai" - }, - { - "text": "Asia/New_Delhi", - "value": "(UTC+05:30) New Delhi" - }, - { - "text": "Asia/Sri_Jayawardenepura", - "value": "(UTC+05:30) Sri Jayawardenepura" - }, - { - "text": "Asia/Katmandu", - "value": "(UTC+05:45) Kathmandu" - }, - { - "text": "Asia/Almaty", - "value": "(UTC+06:00) Almaty" - }, - { - "text": "Asia/Astana", - "value": "(UTC+06:00) Astana" - }, - { - "text": "Asia/Dhaka", - "value": "(UTC+06:00) Dhaka" - }, - { - "text": "Asia/Yekaterinburg", - "value": "(UTC+06:00) Ekaterinburg" - }, - { - "text": "Asia/Rangoon", - "value": "(UTC+06:30) Rangoon" - }, - { - "text": "Asia/Bangkok", - "value": "(UTC+07:00) Bangkok" - }, - { - "text": "Asia/Hanoi", - "value": "(UTC+07:00) Hanoi" - }, - { - "text": "Asia/Jakarta", - "value": "(UTC+07:00) Jakarta" - }, - { - "text": "Asia/Novosibirsk", - "value": "(UTC+07:00) Novosibirsk" - }, - { - "text": "Asia/Beijing", - "value": "(UTC+08:00) Beijing" - }, - { - "text": "Asia/Chongqing", - "value": "(UTC+08:00) Chongqing" - }, - { - "text": "Asia/Hong_Kong", - "value": "(UTC+08:00) Hong Kong" - }, - { - "text": "Asia/Krasnoyarsk", - "value": "(UTC+08:00) Krasnoyarsk" - }, - { - "text": "Asia/Kuala_Lumpur", - "value": "(UTC+08:00) Kuala Lumpur" - }, - { - "text": "Australia/Perth", - "value": "(UTC+08:00) Perth" - }, - { - "text": "Asia/Singapore", - "value": "(UTC+08:00) Singapore" - }, - { - "text": "Asia/Taipei", - "value": "(UTC+08:00) Taipei" - }, - { - "text": "Asia/Ulan_Bator", - "value": "(UTC+08:00) Ulaan Bataar" - }, - { - "text": "Asia/Urumqi", - "value": "(UTC+08:00) Urumqi" - }, - { - "text": "Asia/Irkutsk", - "value": "(UTC+09:00) Irkutsk" - }, - { - "text": "Asia/Osaka", - "value": "(UTC+09:00) Osaka" - }, - { - "text": "Asia/Sapporo", - "value": "(UTC+09:00) Sapporo" - }, - { - "text": "Asia/Seoul", - "value": "(UTC+09:00) Seoul" - }, - { - "text": "Asia/Tokyo", - "value": "(UTC+09:00) Tokyo" - }, - { - "text": "Australia/Adelaide", - "value": "(UTC+09:30) Adelaide" - }, - { - "text": "Australia/Darwin", - "value": "(UTC+09:30) Darwin" - }, - { - "text": "Australia/Brisbane", - "value": "(UTC+10:00) Brisbane" - }, - { - "text": "Australia/Canberra", - "value": "(UTC+10:00) Canberra" - }, - { - "text": "Pacific/Guam", - "value": "(UTC+10:00) Guam" - }, - { - "text": "Australia/Hobart", - "value": "(UTC+10:00) Hobart" - }, - { - "text": "Australia/Melbourne", - "value": "(UTC+10:00) Melbourne" - }, - { - "text": "Pacific/Port_Moresby", - "value": "(UTC+10:00) Port Moresby" - }, - { - "text": "Australia/Sydney", - "value": "(UTC+10:00) Sydney" - }, - { - "text": "Asia/Yakutsk", - "value": "(UTC+10:00) Yakutsk" - }, - { - "text": "Asia/Vladivostok", - "value": "(UTC+11:00) Vladivostok" - }, - { - "text": "Pacific/Auckland", - "value": "(UTC+12:00) Auckland" - }, - { - "text": "Pacific/Fiji", - "value": "(UTC+12:00) Fiji" - }, - { - "text": "Pacific/Kwajalein", - "value": "(UTC+12:00) International Date Line West" - }, - { - "text": "Asia/Kamchatka", - "value": "(UTC+12:00) Kamchatka" - }, - { - "text": "Asia/Magadan", - "value": "(UTC+12:00) Magadan" - }, - { - "text": "Pacific/Marshall_Is", - "value": "(UTC+12:00) Marshall Is." - }, - { - "text": "Asia/New_Caledonia", - "value": "(UTC+12:00) New Caledonia" - }, - { - "text": "Asia/Solomon_Is", - "value": "(UTC+12:00) Solomon Is." - }, - { - "text": "Pacific/Wellington", - "value": "(UTC+12:00) Wellington" - }, - { - "text": "Pacific/Tongatapu", - "value": "(UTC+13:00) Nuku'alofa" - } - ], - "placeholder": "Choose a timezone..." - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "32", - "name": "Timezone" - }, - { - "collection": "directus_users", - "field": "language", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "en-US", - "note": "", - "signed": true, - "id": 853, - "type": "string", - "sort": 12, - "interface": "language", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "limit": true - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "8", - "name": "Language" - }, - { - "collection": "directus_users", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 843, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-badge", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "status_mapping": { - "draft": { - "name": "Draft", - "text_color": "#B0BEC5", - "background_color": "#ECEFF1", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": false - }, - "invited": { - "name": "Invited", - "text_color": "#FFFFFF", - "background_color": "#2F80ED", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": false - }, - "active": { - "name": "Active", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "listing_subdued": false, - "listing_badge": false, - "soft_delete": false - }, - "suspended": { - "name": "Suspended", - "text_color": "#FFFFFF", - "background_color": "#F2994A", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": false - }, - "deleted": { - "name": "Deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "listing_subdued": false, - "listing_badge": true, - "soft_delete": true - } - } - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16", - "name": "Status" - }, - { - "collection": "directus_users", - "field": "avatar", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 854, - "type": "file", - "sort": 13, - "interface": "file", - "display": "image", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Avatar" - }, - { - "collection": "directus_users", - "field": "company", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 850, - "type": "string", - "sort": 9, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "location_city" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "191", - "name": "Company" - }, - { - "collection": "directus_users", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 851, - "type": "string", - "sort": 10, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "text_fields" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "191", - "name": "Title" - }, - { - "collection": "directus_users", - "field": "email_notifications", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "1", - "note": "", - "signed": true, - "id": 847, - "type": "boolean", - "sort": 6, - "interface": "toggle", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Email Notifications" - }, - { - "collection": "directus_users", - "field": "last_login", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 859, - "type": "datetime", - "sort": 18, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Last Access On" - }, - { - "collection": "directus_users", - "field": "last_page", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 860, - "type": "string", - "sort": 19, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "192", - "name": "Last Page" - }, - { - "collection": "directus_users", - "field": "external_id", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 861, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "External ID" - }, - { - "collection": "directus_users", - "field": "2fa_secret", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 856, - "type": "string", - "sort": 15, - "interface": "2fa-secret", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "2FA Secret" - }, - { - "collection": "directus_users", - "field": "theme", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "auto", - "note": "", - "signed": true, - "id": 855, - "type": "string", - "sort": 14, - "interface": "radio-buttons", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "format": true, - "choices": [ - { - "value": "auto", - "text": "Auto" - }, - { - "value": "light", - "text": "Light" - }, - { - "value": "dark", - "text": "Dark" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Theme" - }, - { - "collection": "directus_users", - "field": "role", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 849, - "type": "m2o", - "sort": 8, - "interface": "user-roles", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Role" - }, - { - "collection": "directus_users", - "field": "password_reset_token", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 894, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": true, - "width": null, - "validation": null, - "group": null, - "length": "520", - "name": "Password Reset Token" - }, - { - "collection": "directus_user_sessions", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 862, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_user_sessions", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 863, - "type": "user", - "sort": null, - "interface": "user", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "User" - }, - { - "collection": "directus_user_sessions", - "field": "token_type", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 864, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Token Type" - }, - { - "collection": "directus_user_sessions", - "field": "token", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 865, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Token" - }, - { - "collection": "directus_user_sessions", - "field": "ip_address", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 866, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "IP Address" - }, - { - "collection": "directus_user_sessions", - "field": "user_agent", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 867, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "User Agent" - }, - { - "collection": "directus_user_sessions", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 868, - "type": "datetime", - "sort": null, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "directus_user_sessions", - "field": "token_expired_at", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 869, - "type": "datetime", - "sort": null, - "interface": "datetime", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Token Expired At" - }, - { - "collection": "directus_webhooks", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 870, - "type": "integer", - "sort": null, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "directus_webhooks", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "inactive", - "note": "", - "signed": true, - "id": 871, - "type": "status", - "sort": 1, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": { - "status_mapping": { - "active": { - "name": "Active", - "value": "active", - "text_color": "white", - "background_color": "green", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true - }, - "inactive": { - "name": "Inactive", - "value": "inactive", - "text_color": "white", - "background_color": "blue-grey", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false - } - } - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "space-half", - "validation": null, - "group": null, - "length": "16", - "name": "Status" - }, - { - "collection": "directus_webhooks", - "field": "http_action", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 872, - "type": "string", - "sort": 2, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "get", - "text": "GET" - }, - { - "value": "post", - "text": "POST" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "HTTP Action" - }, - { - "collection": "directus_webhooks", - "field": "url", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 873, - "type": "string", - "sort": 3, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "placeholder": "https://example.com", - "iconRight": "link" - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "510", - "name": "URL" - }, - { - "collection": "directus_webhooks", - "field": "directus_action", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 875, - "type": "string", - "sort": 5, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "item.create:after", - "text": "Create" - }, - { - "value": "item.update:after", - "text": "Update" - }, - { - "value": "item.delete:after", - "text": "Delete" - } - ] - }, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "Directus Action" - }, - { - "collection": "directus_webhooks", - "field": "collection", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 874, - "type": "string", - "sort": 4, - "interface": "collections", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 1, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "255", - "name": "Collection" - }, - { - "collection": "interface_library", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "interface_library", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "interface_library", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Sort" - }, - { - "collection": "interface_library", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "interface_library", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "interface_library", - "field": "modified_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Modified By" - }, - { - "collection": "interface_library", - "field": "modified_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Modified On" - }, - { - "collection": "interface_library", - "field": "2fa_secret", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "16", - "name": "2FA Secret" - }, - { - "collection": "interface_library", - "field": "activity_icon", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Activity Icon" - }, - { - "collection": "interface_library", - "field": "button_group", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Button Group" - }, - { - "collection": "interface_library", - "field": "calendar", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "date", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Calendar" - }, - { - "collection": "interface_library", - "field": "checkboxes", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "Checkboxes" - }, - { - "collection": "interface_library", - "field": "code", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Code" - }, - { - "collection": "interface_library", - "field": "collections", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Collections" - }, - { - "collection": "interface_library", - "field": "color_picker", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20", - "name": "Color Picker" - }, - { - "collection": "interface_library", - "field": "color", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20", - "name": "Color" - }, - { - "collection": "interface_library", - "field": "date", - "datatype": "DATE", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "date", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Date" - }, - { - "collection": "interface_library", - "field": "datetime", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "datetime", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "DateTime" - }, - { - "collection": "interface_library", - "field": "dropdown", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Dropdown" - }, - { - "collection": "interface_library", - "field": "file_preview", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "255", - "name": "File Preview" - }, - { - "collection": "interface_library", - "field": "file_size", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "File Size" - }, - { - "collection": "interface_library", - "field": "file", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "File" - }, - { - "collection": "interface_library", - "field": "hashed", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Hashed" - }, - { - "collection": "interface_library", - "field": "icon", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "20", - "name": "Icon" - }, - { - "collection": "interface_library", - "field": "json", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "JSON" - }, - { - "collection": "interface_library", - "field": "language", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Language" - }, - { - "collection": "interface_library", - "field": "m2o", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "M2O" - }, - { - "collection": "interface_library", - "field": "map", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Map" - }, - { - "collection": "interface_library", - "field": "markdown", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Markdown" - }, - { - "collection": "interface_library", - "field": "multiselect", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Multiselect" - }, - { - "collection": "interface_library", - "field": "numeric", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Numeric" - }, - { - "collection": "interface_library", - "field": "password", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Password" - }, - { - "collection": "interface_library", - "field": "radio_buttons", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "100", - "name": "Radio Buttons" - }, - { - "collection": "interface_library", - "field": "rating", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Rating" - }, - { - "collection": "interface_library", - "field": "repeater", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Repeater" - }, - { - "collection": "interface_library", - "field": "slider", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Slider" - }, - { - "collection": "interface_library", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "2000", - "name": "Tags" - }, - { - "collection": "interface_library", - "field": "text_input", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "200", - "name": "Text Input" - }, - { - "collection": "interface_library", - "field": "slug", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "200", - "name": "Slug" - }, - { - "collection": "interface_library", - "field": "textarea", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Textarea" - }, - { - "collection": "interface_library", - "field": "time", - "datatype": "TIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "time", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "Time" - }, - { - "collection": "interface_library", - "field": "toggle_icon", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Toggle Icon" - }, - { - "collection": "interface_library", - "field": "toggle", - "datatype": "TINYINT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "3", - "name": "Toggle" - }, - { - "collection": "interface_library", - "field": "user", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "User" - }, - { - "collection": "interface_library", - "field": "wysiwyg", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "This is a comment", - "signed": true, - "id": null, - "type": "string", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": null, - "name": "WYSIWYG" - }, - { - "collection": "interface_library_files", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "interface_library_files", - "field": "interface_library_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Interface Library ID" - }, - { - "collection": "interface_library_files", - "field": "directus_files_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Directus Files ID" - }, - { - "collection": "interface_library_news", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "interface_library_news", - "field": "interface_library_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Interface Library ID" - }, - { - "collection": "interface_library_news", - "field": "news_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "News ID" - }, - { - "collection": "interface_library_staff", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "interface_library_staff", - "field": "interface_library_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Interface Library ID" - }, - { - "collection": "interface_library_staff", - "field": "staff_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": null, - "type": "integer", - "sort": null, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": null, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Staff ID" - }, - { - "collection": "locations", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 325, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "locations", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 327, - "type": "sort", - "sort": 3, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Sort" - }, - { - "collection": "locations", - "field": "address", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 328, - "type": "string", - "sort": 6, - "interface": "textarea", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "location_on", - "rows": "4", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Address" - }, - { - "collection": "locations", - "field": "name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 329, - "type": "string", - "sort": 4, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "location_on" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Name" - }, - { - "collection": "locations", - "field": "phone", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 332, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "local_phone", - "placeholder": "(000) 000-0000" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Phone" - }, - { - "collection": "locations", - "field": "location", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 879, - "type": "json", - "sort": 9, - "interface": "map", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "height": 400, - "mapLat": 40.72803624, - "mapLng": -73.94896388, - "defaultZoom": 12, - "maxZoom": 17, - "address_to_code": false, - "theme": "https://{s}.basemaps.cartocdn.com/rastertiles/light_all/{z}/{x}/{y}.png" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Location" - }, - { - "collection": "locations", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 326, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - }, - "simpleBadge": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "locations", - "field": "exterior_image", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 882, - "type": "file", - "sort": 7, - "interface": "image", - "display": "image", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Exterior Image" - }, - { - "collection": "locations", - "field": "interior_image", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 883, - "type": "file", - "sort": 8, - "interface": "image", - "display": "image", - "display_options": { - "circle": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Interior Image" - }, - { - "collection": "mailing_list", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 163, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "mailing_list", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "active", - "note": "", - "signed": true, - "id": 164, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "active": { - "name": "Active", - "value": "active", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "inactive": { - "name": "Inactive", - "value": "inactive", - "text_color": "#B0BEC5", - "background_color": "#ECEFF1", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "unsubscribed": { - "name": "Unsubscribed", - "value": "unsubscribed", - "text_color": "#FFFFFF", - "background_color": "#F2994A", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "mailing_list", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 165, - "type": "owner", - "sort": 3, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "mailing_list", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 166, - "type": "datetime_created", - "sort": 4, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "mailing_list", - "field": "email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 280, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": false, - "formatValue": false, - "monospace": false, - "iconRight": "alternate_email" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Email" - }, - { - "collection": "mailing_list", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 281, - "type": "string", - "sort": 6, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "First Name" - }, - { - "collection": "mailing_list", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 282, - "type": "string", - "sort": 7, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false, - "iconRight": "account_circle" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "200", - "name": "Last Name" - }, - { - "collection": "mailing_list", - "field": "frequency", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "{ \"default\": [\"daily\", \"weekly\", \"monthly\"] }", - "note": "", - "signed": true, - "id": 320, - "type": "array", - "sort": 8, - "interface": "checkboxes", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "daily", - "text": "Daily Emails" - }, - { - "value": "weekly", - "text": "Weekly Emails" - }, - { - "value": "monthly", - "text": "Monthly Emails" - } - ], - "allow_other": false, - "draggable": false, - "wrap": false, - "formatting": true, - "single": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "255", - "name": "Frequency" - }, - { - "collection": "news", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 171, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "news", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 173, - "type": "owner", - "sort": 3, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "news", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 174, - "type": "datetime_created", - "sort": 4, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "news", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 172, - "type": "status", - "sort": 2, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "news", - "field": "author", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 210, - "type": "m2o", - "sort": 6, - "interface": "many-to-one", - "display": "template", - "display_options": { - "template": "{{ first_name }} {{ last_name }}" - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Choose an author...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Author" - }, - { - "collection": "news", - "field": "title", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 211, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Title" - }, - { - "collection": "news", - "field": "body", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 276, - "type": "string", - "sort": 8, - "interface": "wysiwyg", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "removeformat", - "link", - "bullist", - "numlist", - "blockquote", - "h1", - "h2", - "h3", - "image", - "media", - "hr", - "code" - ], - "custom_formats": null - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Body" - }, - { - "collection": "news", - "field": "published_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 277, - "type": "datetime", - "sort": 7, - "interface": "datetime", - "display": null, - "display_options": { - "include_seconds": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "defaultToCurrentDatetime": true, - "format": "mdy" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Published On" - }, - { - "collection": "news", - "field": "tags", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 278, - "type": "array", - "sort": 10, - "interface": "tags", - "display": "tags", - "display_options": { - "format": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "local_offer", - "validationMessage": "Please enter a valid tag", - "alphabetize": true, - "lowercase": true, - "wrap": false, - "format": false, - "sanitize": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "2000", - "name": "Tags" - }, - { - "collection": "news", - "field": "summary", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 279, - "type": "string", - "sort": 9, - "interface": "textarea", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": "5", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Summary" - }, - { - "collection": "news", - "field": "related_news", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 316, - "type": "O2M", - "sort": null, - "interface": "many-to-many", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "title,published_on", - "template": "{{title}} — {{published_on}}", - "allow_create": false, - "allow_select": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Related News" - }, - { - "collection": "news_relations", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 317, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "news_relations", - "field": "news_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 318, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "News ID" - }, - { - "collection": "news_relations", - "field": "related_id", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 319, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Related ID" - }, - { - "collection": "products", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 178, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "products", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 179, - "type": "status", - "sort": 0, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "products", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 180, - "type": "sort", - "sort": 0, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Sort" - }, - { - "collection": "products", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 181, - "type": "owner", - "sort": 0, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "products", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 182, - "type": "datetime_created", - "sort": 0, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "products", - "field": "image", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 191, - "type": "file", - "sort": null, - "interface": "file", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "layout": "cards", - "layoutOptions": { - "title": "title", - "subtitle": "type", - "content": "description", - "src": "data" - }, - "layoutQuery": [], - "filters": [] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Image" - }, - { - "collection": "products", - "field": "sku", - "datatype": "VARCHAR", - "unique": true, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 321, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "iconRight": "code", - "placeholder": "TH-XX-00-XX", - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "11", - "name": "SKU" - }, - { - "collection": "products", - "field": "this_is_a_longer_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 343, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "This Is A Longer Name" - }, - { - "collection": "services", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 168, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "services", - "field": "sort", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 170, - "type": "sort", - "sort": 0, - "interface": "sort", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Sort" - }, - { - "collection": "services", - "field": "name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 198, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Name" - }, - { - "collection": "services", - "field": "description", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 315, - "type": "string", - "sort": null, - "interface": "wysiwyg", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "toolbar": [ - "bold", - "italic", - "underline", - "removeformat", - "link", - "code" - ], - "custom_formats": null - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Description" - }, - { - "collection": "services", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 169, - "type": "status", - "sort": 0, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "staff", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 175, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "staff", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "draft", - "note": "", - "signed": true, - "id": 176, - "type": "status", - "sort": 0, - "interface": "status", - "display": "status-dot", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "published": { - "name": "Published", - "value": "published", - "text_color": "#FFFFFF", - "background_color": "#27AE60", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "draft": { - "name": "Draft", - "value": "draft", - "text_color": "#B0BEC5", - "background_color": "#DDE3E6", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": false, - "published": false, - "required_fields": false - }, - "deleted": { - "name": "Deleted", - "value": "deleted", - "text_color": "#FFFFFF", - "background_color": "#EB5757", - "browse_subdued": true, - "browse_badge": true, - "soft_delete": true, - "published": false, - "required_fields": false - } - } - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "staff", - "field": "first_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 186, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100", - "name": "First Name" - }, - { - "collection": "staff", - "field": "last_name", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 187, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100", - "name": "Last Name" - }, - { - "collection": "staff", - "field": "email", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 189, - "type": "string", - "sort": null, - "interface": "text-input", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Email" - }, - { - "collection": "staff", - "field": "gender", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 188, - "type": "string", - "sort": null, - "interface": "dropdown", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "Male", - "text": "Male" - }, - { - "value": "Female", - "text": "Female" - }, - { - "value": "Other", - "text": "Other" - } - ] - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "100", - "name": "Gender" - }, - { - "collection": "staff", - "field": "bio", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 190, - "type": "string", - "sort": null, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": 8, - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Bio" - }, - { - "collection": "staff", - "field": "news", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 212, - "type": "O2M", - "sort": null, - "interface": "one-to-many", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "title", - "template": "{{title}}", - "sort_field": "sort", - "delete_mode": "relation", - "allow_create": true, - "allow_select": true - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "News" - }, - { - "collection": "tickets", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": true, - "id": 307, - "type": "integer", - "sort": 2, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "tickets", - "field": "status", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "new", - "note": "", - "signed": true, - "id": 308, - "type": "status", - "sort": 1, - "interface": "status", - "display": "status-badge", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "status_mapping": { - "new": { - "name": "New", - "value": "new", - "text_color": "#9B51E0", - "background_color": "#E6D3F7", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "open": { - "name": "Open", - "value": "open", - "text_color": "#2F80ED", - "background_color": "#CBDFFB", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "escalated": { - "name": "Escalated", - "value": "escalated", - "text_color": "#F2994A", - "background_color": "#FCE5D2", - "browse_subdued": false, - "browse_badge": true, - "soft_delete": false, - "published": true, - "required_fields": true - }, - "pending": { - "name": "Pending", - "value": "pending", - "text_color": "#93D7AF", - "background_color": "#E9F7EF", - "browse_badge": true, - "required_fields": true, - "published": true - }, - "solved": { - "name": "Solved", - "value": "solved", - "text_color": "#27AE60", - "background_color": "#C9EBD7", - "browse_subdued": true, - "browse_badge": true, - "required_fields": true, - "published": true - }, - "inactive": { - "name": "Inactive", - "value": "inactive", - "text_color": "#B0BEC5", - "background_color": "#ECEFF1", - "browse_subdued": true, - "browse_badge": true, - "required_fields": true, - "published": true - } - }, - "simpleBadge": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "20", - "name": "Status" - }, - { - "collection": "tickets", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 309, - "type": "owner", - "sort": 10, - "interface": "owner", - "display": "user", - "display_options": { - "display": "both", - "circle": true - }, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "tickets", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 310, - "type": "datetime_created", - "sort": 11, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "tickets", - "field": "modified_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 311, - "type": "user_updated", - "sort": 12, - "interface": "user-updated", - "display": "user", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Modified By" - }, - { - "collection": "tickets", - "field": "modified_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 312, - "type": "datetime_updated", - "sort": 13, - "interface": "datetime-updated", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": null, - "name": "Modified On" - }, - { - "collection": "tickets", - "field": "customer", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 313, - "type": "m2o", - "sort": 4, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Select a Customer...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Customer" - }, - { - "collection": "tickets", - "field": "priority", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "normal", - "note": "", - "signed": true, - "id": 354, - "type": "string", - "sort": 3, - "interface": "dropdown", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "choices": [ - { - "value": "low", - "text": "Low" - }, - { - "value": "normal", - "text": "Normal" - }, - { - "value": "high", - "text": "High" - } - ], - "placeholder": "Choose an option...", - "icon": "flag" - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "half", - "validation": null, - "group": null, - "length": "100", - "name": "Priority" - }, - { - "collection": "tickets", - "field": "subject", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 887, - "type": "string", - "sort": 5, - "interface": "text-input", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "trim": true, - "showCharacterCount": true, - "formatValue": false, - "monospace": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "200", - "name": "Subject" - }, - { - "collection": "tickets", - "field": "question", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 888, - "type": "string", - "sort": 6, - "interface": "textarea", - "display": "formatted-text", - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": "4", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Question" - }, - { - "collection": "tickets", - "field": "notes", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 289, - "type": "O2M", - "sort": 7, - "interface": "one-to-many", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "created_on,note", - "template": "{{created_on}} — {{note}}", - "delete_mode": "item", - "allow_create": true, - "allow_select": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Notes" - }, - { - "collection": "tickets", - "field": "system_divider", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 886, - "type": "ALIAS", - "sort": 9, - "interface": "divider", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "style": "large", - "title": "", - "hr": true, - "margin": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "System Divider" - }, - { - "collection": "tickets", - "field": "attachments", - "datatype": null, - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": null, - "signed": false, - "id": 889, - "type": "O2M", - "sort": 8, - "interface": "files", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "fields": "title", - "template": "{{ title }}", - "allow_create": true, - "allow_select": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Attachments" - }, - { - "collection": "ticket_files", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 890, - "type": "integer", - "sort": 0, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "ticket_files", - "field": "ticket", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 891, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "Ticket" - }, - { - "collection": "ticket_files", - "field": "file", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 892, - "type": "integer", - "sort": 0, - "interface": null, - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "File" - }, - { - "collection": "ticket_notes", - "field": "id", - "datatype": "INT", - "unique": false, - "primary_key": true, - "auto_increment": true, - "default_value": null, - "note": "", - "signed": false, - "id": 283, - "type": "integer", - "sort": 1, - "interface": "primary-key", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": true, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": null, - "validation": null, - "group": null, - "length": "10", - "name": "ID" - }, - { - "collection": "ticket_notes", - "field": "created_by", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 284, - "type": "owner", - "sort": 2, - "interface": "owner", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "template": "{{first_name}} {{last_name}}", - "display": "both" - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": "10", - "name": "Created By" - }, - { - "collection": "ticket_notes", - "field": "created_on", - "datatype": "DATETIME", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 285, - "type": "datetime_created", - "sort": 3, - "interface": "datetime-created", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": true, - "required": false, - "options": { - "showRelative": true - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Created On" - }, - { - "collection": "ticket_notes", - "field": "note", - "datatype": "TEXT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": true, - "id": 286, - "type": "string", - "sort": 5, - "interface": "textarea", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": { - "rows": 8, - "placeholder": "Enter your note here...", - "serif": false - }, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": null, - "name": "Note" - }, - { - "collection": "ticket_notes", - "field": "ticket", - "datatype": "INT", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": null, - "note": "", - "signed": false, - "id": 287, - "type": "m2o", - "sort": 4, - "interface": "many-to-one", - "display": null, - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "required": false, - "options": { - "icon": "perm_contact_calendar", - "template": "{{first_name}} {{last_name}}", - "visible_fields": "first_name,last_name", - "placeholder": "Choose a Customer...", - "threshold": 20 - }, - "locked": 0, - "translation": null, - "readonly": true, - "width": "half", - "validation": null, - "group": null, - "length": "10", - "name": "Ticket" - }, - { - "collection": "ticket_notes", - "field": "channel", - "datatype": "VARCHAR", - "unique": false, - "primary_key": false, - "auto_increment": false, - "default_value": "internal", - "note": "", - "signed": true, - "id": 288, - "type": "string", - "sort": 6, - "interface": "radio-buttons", - "display": null, - "display_options": null, - "hidden_detail": false, - "hidden_browse": false, - "required": false, - "options": null, - "locked": 0, - "translation": null, - "readonly": false, - "width": "full", - "validation": null, - "group": null, - "length": "100", - "name": "Channel" - }, - { - "id": 820, - "collection": "directus_settings", - "field": "project_name", - "type": "string", - "interface": "text-input", - "options": { - "iconRight": "title" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": true, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 1, - "width": "half", - "group": null, - "note": "The name of this project", - "translation": null, - "name": "Project Name" - }, - { - "id": 821, - "collection": "directus_settings", - "field": "project_url", - "type": "string", - "interface": "text-input", - "options": { - "iconRight": "link" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 2, - "width": "half", - "group": null, - "note": "External link for the App's top-left logo", - "translation": null, - "name": "Project URL" - }, - { - "id": 822, - "collection": "directus_settings", - "field": "project_logo", - "type": "file", - "interface": "file", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 3, - "width": "half", - "group": null, - "note": "A 40x40 brand logo, ideally a white SVG/PNG", - "translation": null, - "name": "Project Logo" - }, - { - "id": 823, - "collection": "directus_settings", - "field": "project_color", - "type": "string", - "interface": "color", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 4, - "width": "half", - "group": null, - "note": "Color for login background and App's logo", - "translation": null, - "name": "Project Color" - }, - { - "id": 824, - "collection": "directus_settings", - "field": "public_foreground", - "type": "file", - "interface": "image", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 5, - "width": "half", - "group": null, - "note": "Centered image (eg: logo) for the login page", - "translation": null, - "name": "Project Foreground" - }, - { - "id": 825, - "collection": "directus_settings", - "field": "project_background", - "type": "file", - "interface": "image", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 6, - "width": "half", - "group": null, - "note": "Full-screen background for the login page", - "translation": null, - "name": "Project Background" - }, - { - "id": 893, - "collection": "directus_settings", - "field": "project_public_note", - "type": "string", - "interface": "textarea", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": true, - "hidden_detail": false, - "hidden_browse": false, - "sort": 7, - "width": "full", - "group": null, - "note": "This value will be shown on the public pages of the app", - "translation": null, - "name": "Project Public Note" - }, - { - "id": 826, - "collection": "directus_settings", - "field": "default_language", - "type": "string", - "interface": "language", - "options": { - "limit": true - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 8, - "width": "half", - "group": null, - "note": "Default language for Directus Users", - "translation": null, - "name": "Default Language" - }, - { - "id": 827, - "collection": "directus_settings", - "field": "telemetry", - "type": "boolean", - "interface": "toggle", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 9, - "width": "half", - "group": null, - "note": "Learn More", - "translation": null, - "name": "Telemetry" - }, - { - "id": 828, - "collection": "directus_settings", - "field": "data_divider", - "type": "alias", - "interface": "divider", - "options": { - "style": "large", - "title": "Data", - "hr": true - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": true, - "sort": 10, - "width": "full", - "group": null, - "note": null, - "translation": null, - "name": "Data Divider" - }, - { - "id": 829, - "collection": "directus_settings", - "field": "default_limit", - "type": "integer", - "interface": "numeric", - "options": { - "iconRight": "keyboard_tab" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": true, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 11, - "width": "half", - "group": null, - "note": "Default item count in API and App responses", - "translation": null, - "name": "Default Limit" - }, - { - "id": 830, - "collection": "directus_settings", - "field": "sort_null_last", - "type": "boolean", - "interface": "toggle", - "options": null, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 12, - "width": "half", - "group": null, - "note": "NULL values are sorted last", - "translation": null, - "name": "Sort Null Last" - }, - { - "id": 831, - "collection": "directus_settings", - "field": "security_divider", - "type": "alias", - "interface": "divider", - "options": { - "style": "large", - "title": "Security", - "hr": true - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": true, - "sort": 20, - "width": "full", - "group": null, - "note": null, - "translation": null, - "name": "Security Divider" - }, - { - "id": 832, - "collection": "directus_settings", - "field": "auto_sign_out", - "type": "integer", - "interface": "numeric", - "options": { - "iconRight": "timer" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": true, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 22, - "width": "half", - "group": null, - "note": "Minutes before idle users are signed out", - "translation": null, - "name": "Auto Sign Out" - }, - { - "id": 833, - "collection": "directus_settings", - "field": "login_attempts_allowed", - "type": "integer", - "interface": "numeric", - "options": { - "iconRight": "lock" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 23, - "width": "half", - "group": null, - "note": "Failed login attempts before suspending users", - "translation": null, - "name": "Login Attempts Allowed" - }, - { - "id": 834, - "collection": "directus_settings", - "field": "password_policy", - "type": "string", - "interface": "dropdown", - "options": { - "choices": [ - { - "value": null, - "text": "None" - }, - { - "value": "/^.{8,}$/", - "text": "Weak" - }, - { - "value": "/(?=^.{8,}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{';'?>.<,])(?!.*\\s).*$/", - "text": "Strong" - } - ] - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 24, - "width": "half", - "group": null, - "note": "Weak: Minimum length 8; Strong: 1 small-case letter, 1 capital letter, 1 digit, 1 special character and the length should be minimum 8", - "translation": null, - "name": "Password Policy" - }, - { - "id": 896, - "collection": "directus_settings", - "field": "auth_token_ttl", - "type": "integer", - "interface": "numeric", - "options": { - "iconRight": "timer" - }, - "display": null, - "display_options": null, - "locked": false, - "validation": null, - "required": true, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 25, - "width": "half", - "group": null, - "note": "How long the API authorization token will last", - "translation": null, - "name": "Auth Token TTL" - }, - { - "id": 835, - "collection": "directus_settings", - "field": "files_divider", - "type": "alias", - "interface": "divider", - "options": { - "style": "large", - "title": "Files & Thumbnails", - "hr": true - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": true, - "sort": 30, - "width": "full", - "group": null, - "note": null, - "translation": null, - "name": "Files Divider" - }, - { - "id": 836, - "collection": "directus_settings", - "field": "file_naming", - "type": "string", - "interface": "dropdown", - "options": { - "choices": [ - { - "value": "uuid", - "text": "UUID (Obfuscated)" - }, - { - "value": "file_name", - "text": "File Name (Readable)" - } - ] - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 31, - "width": "half", - "group": null, - "note": "File-system naming convention for uploads", - "translation": null, - "name": "File Naming" - }, - { - "id": 895, - "collection": "directus_settings", - "field": "asset_url_naming", - "type": "string", - "interface": "dropdown", - "options": { - "choices": [ - { - "value": "private_hash", - "text": "Private Hash (Obfuscated)" - }, - { - "value": "filename_download", - "text": "File Name (Readable)" - } - ] - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 32, - "width": "half", - "group": null, - "note": "Thumbnail URL convention", - "translation": null, - "name": "Asset URL Naming" - }, - { - "id": 838, - "collection": "directus_settings", - "field": "file_mimetype_whitelist", - "type": "array", - "interface": "tags", - "options": { - "placeholder": "Enter a file mimetype then hit enter (eg: image/jpeg)" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 33, - "width": "full", - "group": null, - "note": null, - "translation": null, - "name": "File Mimetype Whitelist" - }, - { - "id": 839, - "collection": "directus_settings", - "field": "asset_whitelist", - "type": "json", - "interface": "repeater", - "options": { - "fields": [ - { - "field": "key", - "interface": "slug", - "name": "Key", - "options": { - "onlyOnCreate": false - }, - "required": true, - "type": "string", - "width": "half" - }, - { - "field": "fit", - "interface": "dropdown", - "name": "Fit", - "options": { - "choices": { - "contain": "Contain (preserve aspect ratio)", - "crop": "Crop (forces exact size)", - "inside": "Fit inside", - "outside": "Fit outside" - } - }, - "required": true, - "type": "string", - "width": "half" - }, - { - "field": "width", - "interface": "numeric", - "name": "Width", - "required": true, - "type": "integer", - "width": "half" - }, - { - "field": "height", - "interface": "numeric", - "name": "Height", - "required": true, - "type": "integer", - "width": "half" - }, - { - "default_value": false, - "field": "withoutEnlargement", - "interface": "toggle", - "name": "Don't upscale images", - "required": false, - "type": "boolean", - "width": "half", - "options": { - "label": "Don't upscale images" - } - }, - { - "default_value": 80, - "field": "quality", - "interface": "slider", - "name": "Quality", - "options": { - "max": 100, - "min": 0, - "step": 1 - }, - "required": true, - "type": "integer", - "width": "half" - } - ], - "template": "{{key}}" - }, - "display": null, - "display_options": null, - "locked": false, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 34, - "width": "full", - "group": null, - "note": "Defines how the thumbnail will be generated based on the requested params.", - "translation": null, - "name": "Asset Whitelist" - }, - { - "id": 840, - "collection": "directus_settings", - "field": "asset_whitelist_system", - "type": "json", - "interface": "json", - "options": null, - "display": null, - "display_options": null, - "locked": false, - "validation": null, - "required": false, - "readonly": true, - "hidden_detail": true, - "hidden_browse": true, - "sort": 35, - "width": "half", - "group": null, - "note": null, - "translation": null, - "name": "Asset Whitelist System" - }, - { - "id": 841, - "collection": "directus_settings", - "field": "youtube_api_key", - "type": "string", - "interface": "text-input", - "options": { - "iconRight": "videocam" - }, - "display": null, - "display_options": null, - "locked": true, - "validation": null, - "required": false, - "readonly": false, - "hidden_detail": false, - "hidden_browse": false, - "sort": 36, - "width": "full", - "group": null, - "note": "Allows fetching more YouTube Embed info", - "translation": null, - "name": "YouTube API Key" - }, - { - "id": -1, - "collection": "directus_files", - "field": "$file", - "name": "File", - "datatype": null, - "type": "file", - "unique": false, - "primary_key": false, - "default_value": null, - "auto_increment": false, - "note": null, - "signed": false, - "sort": 0, - "interface": null, - "options": null, - "display": "file", - "display_options": null, - "hidden_detail": true, - "hidden_browse": false, - "locked": true, - "required": false, - "translation": null, - "readonly": true, - "width": "full", - "validation": null, - "group": null, - "length": null - } - ] -} diff --git a/app/.storybook/mock-data/relations.json b/app/.storybook/mock-data/relations.json deleted file mode 100644 index 383a3a3f50..0000000000 --- a/app/.storybook/mock-data/relations.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "relations": [ - { - "id": 15, - "collection_many": "news", - "field_many": "author", - "collection_one": "staff", - "field_one": "news", - "junction_field": null - }, - { - "id": 16, - "collection_many": "interface_library", - "field_many": "m2o", - "collection_one": "news", - "field_one": null, - "junction_field": null - }, - { - "id": 17, - "collection_many": "interface_library_staff", - "field_many": "interface_library_id", - "collection_one": "interface_library", - "field_one": "checkboxes_relational", - "junction_field": "staff_id" - }, - { - "id": 18, - "collection_many": "interface_library_staff", - "field_many": "staff_id", - "collection_one": "staff", - "field_one": "interface_library", - "junction_field": "interface_library_id" - }, - { - "id": 19, - "collection_many": "interface_library_files", - "field_many": "directus_files_id", - "collection_one": "directus_files", - "field_one": "interface_library", - "junction_field": "interface_library_id" - }, - { - "id": 20, - "collection_many": "interface_library_files", - "field_many": "interface_library_id", - "collection_one": "interface_library", - "field_one": "files", - "junction_field": "directus_files_id" - }, - { - "id": 21, - "collection_many": "interface_library_news", - "field_many": "interface_library_id", - "collection_one": "interface_library", - "field_one": "m2m", - "junction_field": "news_id" - }, - { - "id": 22, - "collection_many": "interface_library_news", - "field_many": "news_id", - "collection_one": "news", - "field_one": "interface_library", - "junction_field": "interface_library_id" - }, - { - "id": 23, - "collection_many": "library_translations", - "field_many": "library", - "collection_one": "interface_library", - "field_one": "translation", - "junction_field": null - }, - { - "id": 24, - "collection_many": "news", - "field_many": "m2o", - "collection_one": "interface_library", - "field_one": "o2m", - "junction_field": null - }, - { - "id": 25, - "collection_many": "ticket_notes", - "field_many": "ticket", - "collection_one": "tickets", - "field_one": "notes", - "junction_field": null - }, - { - "id": 26, - "collection_many": "customers", - "field_many": "owner", - "collection_one": "staff", - "field_one": null, - "junction_field": null - }, - { - "id": 27, - "collection_many": "tickets", - "field_many": "customer", - "collection_one": "customers", - "field_one": null, - "junction_field": null - }, - { - "id": 28, - "collection_many": "news_relations", - "field_many": "news_id", - "collection_one": "news", - "field_one": "related_news", - "junction_field": "related_id" - }, - { - "id": 29, - "collection_many": "news_relations", - "field_many": "related_id", - "collection_one": "news", - "field_one": "news", - "junction_field": "news_id" - }, - { - "id": 53, - "collection_many": "directus_activity", - "field_many": "user", - "collection_one": "directus_users", - "field_one": null, - "junction_field": null - }, - { - "id": 56, - "collection_many": "directus_fields", - "field_many": "collection", - "collection_one": "directus_collections", - "field_one": "fields", - "junction_field": null - }, - { - "id": 57, - "collection_many": "directus_files", - "field_many": "uploaded_by", - "collection_one": "directus_users", - "field_one": null, - "junction_field": null - }, - { - "id": 58, - "collection_many": "directus_files", - "field_many": "folder", - "collection_one": "directus_folders", - "field_one": null, - "junction_field": null - }, - { - "id": 59, - "collection_many": "directus_folders", - "field_many": "parent", - "collection_one": "directus_folders", - "field_one": null, - "junction_field": null - }, - { - "id": 60, - "collection_many": "directus_permissions", - "field_many": "group", - "collection_one": "directus_groups", - "field_one": null, - "junction_field": null - }, - { - "id": 61, - "collection_many": "directus_revisions", - "field_many": "activity", - "collection_one": "directus_activity", - "field_one": null, - "junction_field": null - }, - { - "id": 62, - "collection_many": "directus_users", - "field_many": "role", - "collection_one": "directus_roles", - "field_one": "users", - "junction_field": null - }, - { - "id": 63, - "collection_many": "directus_users", - "field_many": "avatar", - "collection_one": "directus_files", - "field_one": null, - "junction_field": null - }, - { - "id": 64, - "collection_many": "ticket_files", - "field_many": "ticket", - "collection_one": "tickets", - "field_one": "attachments", - "junction_field": "file" - }, - { - "id": 65, - "collection_many": "ticket_files", - "field_many": "file", - "collection_one": "directus_files", - "field_one": "tickets", - "junction_field": "ticket" - }, - { - "id": 66, - "collection_many": "directus_collection_presets", - "field_many": "role", - "collection_one": "directus_roles", - "field_one": null, - "junction_field": null - }, - { - "id": 67, - "collection_many": "directus_collection_presets", - "field_many": "user", - "collection_one": "directus_users", - "field_one": null, - "junction_field": null - } - ] -} diff --git a/app/.storybook/preview-head.html b/app/.storybook/preview-head.html deleted file mode 100644 index ce8c72590c..0000000000 --- a/app/.storybook/preview-head.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/app/.storybook/preview.js b/app/.storybook/preview.js deleted file mode 100644 index c1d1f7f0e3..0000000000 --- a/app/.storybook/preview.js +++ /dev/null @@ -1,24 +0,0 @@ -import { addParameters } from '@storybook/vue'; -import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'; - -import "../src/styles/main.scss"; -import "../src/plugins"; -import "../src/components/register"; -import "../src/directives/register"; -import "../src/interfaces/register"; -import "../src/displays/register"; -import "../src/views/register"; -import "../src/layouts/register"; - -addParameters({ - docs: { - inlineStories: true - }, - viewport: { - viewports: INITIAL_VIEWPORTS - }, - themes: [ - { name: 'Light', class: ['private-view', 'light'], color: '#ffffff', default: true }, - { name: 'Dark', class: ['private-view', 'dark'], color: '#263238' }, - ] -}); diff --git a/app/.storybook/raw-value.vue b/app/.storybook/raw-value.vue deleted file mode 100644 index fc1719e67f..0000000000 --- a/app/.storybook/raw-value.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - diff --git a/app/src/components/readme.md b/app/src/components/readme.md deleted file mode 100644 index 7e9931b5d4..0000000000 --- a/app/src/components/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Components - -Components are custom elements that can reused in various other places. - -## Storybook / Tests - -Every component should have an entry in Storybook, and should have unit tests where appropriate. - -## Naming - -Components must always have a `-` in the name. This makes sure we don't run into any conflicts with HTML element names. - -## Base Components - -The core-most base-components are prefixed with `v-` (for example `v-icon` and `v-button`). These components can not rely on any global store. - -## Private Components - -Every now and again, it makes sense to split up a bigger component in smaller sub-parts for code maintainability and organization reasons. These "internal private components" are prefixed with a `_` and should never be used standalone. diff --git a/app/src/components/transition/expand/readme.md b/app/src/components/transition/expand/readme.md deleted file mode 100644 index df67addaea..0000000000 --- a/app/src/components/transition/expand/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# `transition-expand` - -Use around a `v-if` or `v-show` component to have it expand in and out of view. - -## Usage - -```html - - - -``` - -## Props -| Prop | Description | Default | -|-------------------------|----------------------------------------------------|---------| -| `x-axis` | Expand on the horizontal instead vertical axis | `false` | -| `expanded-parent-class` | Add a custom class to the element that is expanded | `''` | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## Events -n/a - -## CSS Variables -n/a diff --git a/app/src/components/transition/expand/transition-expand.story.ts b/app/src/components/transition/expand/transition-expand.story.ts deleted file mode 100644 index e301bd6ec1..0000000000 --- a/app/src/components/transition/expand/transition-expand.story.ts +++ /dev/null @@ -1,40 +0,0 @@ -import markdown from './readme.md'; -import { defineComponent, ref } from '@vue/composition-api'; -import TransitionExpand from './transition-expand.vue'; -import withPadding from '../../../../.storybook/decorators/with-padding'; - -export default { - title: 'Transition / Expand', - parameters: { - notes: markdown, - }, - decorators: [withPadding], -}; - -export const basic = () => - defineComponent({ - components: { TransitionExpand }, - props: {}, - setup() { - const active = ref(false); - - return { active, toggle }; - - function toggle() { - active.value = !active.value; - } - }, - template: ` -
- Click me! - - -
- -

Hello, world!

-
-
-
-
- `, - }); diff --git a/app/src/components/transition/readme.md b/app/src/components/transition/readme.md deleted file mode 100644 index 3001627c24..0000000000 --- a/app/src/components/transition/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Transitions - -Preset extensions of the Vue `transition` element. - -## Table of Contents - -- [`Expand`](./expand) diff --git a/app/src/components/v-avatar/readme.md b/app/src/components/v-avatar/readme.md deleted file mode 100644 index 4b552d47e6..0000000000 --- a/app/src/components/v-avatar/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# Avatar - -```html -RVZ - - - - - - - - -``` - -## Props - -| Prop | Description | Default | -|-----------|---------------------------|---------| -| `size` | Size in px | -- | -| `tile` | Render as a tile (square) | `false` | -| `x-small` | Render extra small | `false` | -| `small` | Render small | `false` | -| `large` | Render large | `false` | -| `x-large` | Render extra large | `false` | - -## Slots - -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -## Events - -n/a - -## CSS Variables - -| Variable | Default | -|--------------------|-----------------------------| -| `--v-avatar-color` | `--avatar-background-color` | -| `--v-avatar-size` | -- | diff --git a/app/src/components/v-avatar/v-avatar.story.ts b/app/src/components/v-avatar/v-avatar.story.ts deleted file mode 100644 index 60c9a4ac9c..0000000000 --- a/app/src/components/v-avatar/v-avatar.story.ts +++ /dev/null @@ -1,167 +0,0 @@ -import { withKnobs, text, boolean, number, color, optionsKnob as options } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import VAvatar from './v-avatar.vue'; -import VIcon from '../v-icon/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-avatar', VAvatar); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Avatar', - component: VAvatar, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withText = () => ({ - props: { - text: { - default: text('Text', 'RVZ'), - }, - tile: { - default: boolean('Tile', false), - }, - color: { - default: color('Color', '#009688'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - } - ), - }, - customSize: { - default: number('Size (in px)', 0), - }, - }, - template: ` - {{ text }}`, -}); - -export const withImage = () => ({ - props: { - tile: { - default: boolean('Tile', false), - }, - color: { - default: color('Color', '#009688'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - } - ), - }, - customSize: { - default: number('Size (in px)', 0), - }, - }, - template: ` - - - `, -}); - -export const withIcon = () => ({ - props: { - tile: { - default: boolean('Tile', false), - }, - color: { - default: color('Color', '#009688'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - } - ), - }, - customSize: { - default: number('Size (in px)', 0), - }, - }, - template: ` - - - `, -}); - -export const sizes = () => ({ - template: ` -
- - - - - - - - - - - - - - - -
- `, -}); diff --git a/app/src/components/v-badge/readme.md b/app/src/components/v-badge/readme.md deleted file mode 100644 index 24df047f57..0000000000 --- a/app/src/components/v-badge/readme.md +++ /dev/null @@ -1,44 +0,0 @@ -# Badge - -```html -ABC -``` - -## Colors - -You can set the color, background color and boder color with the `--v-badge-color`, `--v-badge-background-color` and `--v-badge-border-color` css vars respectively: - -```html - - ABC - -``` - -## Props -| Prop | Description | Default | -|------------|------------------------------------------------------------------------------|---------| -| `value` | The value that will be displayed inside the badge Only 2 characters allowed) | `null` | -| `dot` | Only will show a small dot without any content | `false` | -| `bordered` | Shows a border arround the badge | `false` | -| `left` | Aligns the badge on the left side | `false` | -| `bottom` | Aligns the badge on the bottom side | `false` | -| `icon` | Shows an icon instead of text | `null` | -| `disabled` | Don't render the badge | `false` | - -## Slots -N/A - -## Events -N/A - -## CSS Variables -| Variable | Default | -|------------------------------|--------------------------| -| `--v-badge-color` | `var(--white)` | -| `--v-badge-background-color` | `var(--danger)` | -| `--v-badge-border-color` | `var(--background-page)` | -| `--v-badge-offset-x` | `0px` | -| `--v-badge-offset-y` | `0px` | diff --git a/app/src/components/v-badge/v-badge.story.ts b/app/src/components/v-badge/v-badge.story.ts deleted file mode 100644 index bdc06a1196..0000000000 --- a/app/src/components/v-badge/v-badge.story.ts +++ /dev/null @@ -1,169 +0,0 @@ -import { withKnobs, text, boolean, number } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import VBadge from './v-badge.vue'; -import VIcon from '../v-icon/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-badge', VBadge); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Badge', - component: VBadge, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withButton = () => ({ - props: { - value: { - default: text('Text in badge', '3', 'Badge'), - }, - dot: { - default: boolean('Dot', false, 'Badge'), - }, - left: { - default: boolean('Left', false, 'Badge'), - }, - bottom: { - default: boolean('Bottom', false, 'Badge'), - }, - offsetX: { - default: number('Offset X', 0, undefined, 'Badge'), - }, - offsetY: { - default: number('Offset Y', 0, undefined, 'Badge'), - }, - icon: { - default: text('Icon', '', 'Badge'), - }, - bordered: { - default: boolean('Bordered', false, 'Badge'), - }, - }, - template: ` - - Click me! - - `, -}); - -export const withText = () => ({ - props: { - value: { - default: text('Text in badge', '3', 'Badge'), - }, - dot: { - default: boolean('Dot', false, 'Badge'), - }, - left: { - default: boolean('Left', false, 'Badge'), - }, - bottom: { - default: boolean('Bottom', false, 'Badge'), - }, - offsetX: { - default: number('Offset X', 0, undefined, 'Badge'), - }, - offsetY: { - default: number('Offset Y', 0, undefined, 'Badge'), - }, - icon: { - default: text('Icon', '', 'Badge'), - }, - bordered: { - default: boolean('Bordered', false, 'Badge'), - }, - }, - template: ` - - Example text. - - `, -}); - -export const withAvatar = () => ({ - props: { - value: { - default: text('Text in badge', '3', 'Badge'), - }, - dot: { - default: boolean('Dot', false, 'Badge'), - }, - left: { - default: boolean('Left', false, 'Badge'), - }, - bottom: { - default: boolean('Bottom', false, 'Badge'), - }, - icon: { - default: text('Icon', '', 'Badge'), - }, - }, - template: ` - - RVZ - - `, -}); - -export const colors = () => ({ - template: ` -
- - Click me! - - - Click me! - - - Click me! - -
- `, -}); diff --git a/app/src/components/v-breadcrumb/readme.md b/app/src/components/v-breadcrumb/readme.md deleted file mode 100644 index 0d0bfef208..0000000000 --- a/app/src/components/v-breadcrumb/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# Breadcrumb - -```html - -``` - -## Props -| Prop | Description | Default | -|-----------------|-----------------------------------------------------------|---------| -| `items` | An array of objects which information about each section | `[]` | -| `items.name` | The name which will be displayed | `''` | -| `items.to` | The reroute link | `''` | -| `items.disabled`| If the router link should be clickable | `false` | -| `items.icon` | Displays an icon with the given name in front of the name | `''` | - -## Events -n/a - -## Slots -n/a - -## CSS Variables -| Prop | Default | -|---------------------------------|-------------------------------------| -| `--v-breadcrumb-color` | `var(--foreground-subdued)` | -| `--v-breadcrumb-color-hover` | `var(--foreground-normal)` | -| `--v-breadcrumb-color-disabled` | `var(--foreground-subdued)` | -| `--v-breadcrumb-divider-color` | `var(--foreground-subdued)` | diff --git a/app/src/components/v-breadcrumb/v-breadcrumb.story.ts b/app/src/components/v-breadcrumb/v-breadcrumb.story.ts deleted file mode 100644 index 3bad73a4be..0000000000 --- a/app/src/components/v-breadcrumb/v-breadcrumb.story.ts +++ /dev/null @@ -1,35 +0,0 @@ -import Vue from 'vue'; -import markdown from './readme.md'; -import VIcon from '../v-icon/'; -import VBreadcrumb from './v-breadcrumb.vue'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -import VueRouter from 'vue-router'; - -Vue.use(VueRouter); - -const router = new VueRouter(); - -Vue.component('v-breadcrumb', VBreadcrumb); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Breadcrumb', - component: VBreadcrumb, - decorators: [withPadding], - parameters: { - notes: markdown, - }, -}; - -export const example = () => ({ - router, - template: ` - - `, -}); diff --git a/app/src/components/v-button-group/readme.md b/app/src/components/v-button-group/readme.md deleted file mode 100644 index 57f37db979..0000000000 --- a/app/src/components/v-button-group/readme.md +++ /dev/null @@ -1,62 +0,0 @@ -# Button Group - -Provides the ability to make groups of buttons. Uses the v-item-group component and adds styling to the buttons. -For more information about how to use groups, look into v-item-group. - -## Usage - -```html - - - -``` - -## Props - -| Prop | Description | Default | -|-------------|---------------------------------------------------------|---------| -| `mandatory` | Require an item to be selected | `false` | -| `max` | Only allow a maximum of n items | `-1` | -| `multiple` | Allow multiple items to be selected | `false` | -| `value` | The v-model value. Selection of indexes / custom values | -- | -| `rounded` | Adds rounded corners to the sides | `false` | -| `tile` | Adds sharp corners to the sides | `false` | - - -## Slots - -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -## Events - -| Event | Description | Data | -|---------|----------------------------------|-----------------------| -| `input` | Used to update the v-model value | `(string | number)[]` | - - -## CSS Variables - -| Variable | Default | -|--------------------------------------------|----------------------------------------------------| -| `--v-button-group-background-color-active` | `var(--primary-alt)` | - - - - diff --git a/app/src/components/v-button-group/v-button-group.story.ts b/app/src/components/v-button-group/v-button-group.story.ts deleted file mode 100644 index 94d563755f..0000000000 --- a/app/src/components/v-button-group/v-button-group.story.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { withKnobs, boolean, number } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import VButtonGroup from './v-button-group.vue'; -import VItemGroup from '../v-item-group/'; -import VButton from '../v-button/'; -import { defineComponent, ref } from '@vue/composition-api'; - -export default { - title: 'Components / Button Group', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { VButtonGroup, VButton, VItemGroup }, - props: { - mandatory: { - default: boolean('Mandatory', false), - }, - max: { - default: number('Max', -1), - }, - multiple: { - default: boolean('Multiple', false), - }, - rounded: { - default: boolean('Rounded', false), - }, - tile: { - default: boolean('Tile', false), - }, - }, - setup() { - const selection = ref([]); - return { selection }; - }, - template: ` -
- - - I'm {{ active ? 'active ✨' : 'not active' }} - - -
v-model value: {{JSON.stringify(selection)}}
-
- `, - }); - -export const withCustomValues = () => - defineComponent({ - components: { VButtonGroup, VButton, VItemGroup }, - props: { - mandatory: { - default: boolean('Mandatory', false), - }, - max: { - default: number('Max', -1), - }, - multiple: { - default: boolean('Multiple', false), - }, - rounded: { - default: boolean('Rounded', false), - }, - tile: { - default: boolean('Tile', false), - }, - }, - setup() { - const selection = ref([]); - const buttonValues = ['value-1', 61, 'another-value', 'wowzers']; - - return { selection, buttonValues }; - }, - template: ` -
- - - I'm {{ active ? 'active ✨' : 'not active' }} - - -
v-model value: {{JSON.stringify(selection)}}
-
- `, - }); diff --git a/app/src/components/v-button/readme.md b/app/src/components/v-button/readme.md deleted file mode 100644 index 2329816093..0000000000 --- a/app/src/components/v-button/readme.md +++ /dev/null @@ -1,99 +0,0 @@ -# Button - -```html -Click me! -``` - -## Sizes - -The button component supports the following sizes through the use of props: - -* x-small -* small -* (default) -* large -* x-large - -## Colors - -You can set the color, background color, hover color, and background hover color with the `--v-button-color`, `--v-button-background-color`, `--v-button-color-hover`, and `--v-button-background-color-hover` css variables respectively: - -```html -Click me - - -``` - -## Loading - -The button has a loading state that can be enabled with the `loading` prop. By default, the button will render a `v-spinner`. You can override what's being shown during the loading state by using the `#loading` slot: - -```html - - - -``` - -The loading slot is rendered _on top_ of the content that was there before. Make sure that your loading content doesn't exceed the size of the default state content. This restriction is put in place to prevent jumps when going from and to the loading state. - -## Props - -| Prop | Description | Default | -|------------|---------------------------------------------------------------------------|------------| -| `block` | Enable full width (display block) | `false` | -| `icon` | Remove padding / min-width. Meant to be used with just an icon as content | `false` | -| `outlined` | No background | `false` | -| `rounded` | Enable rounded corners | `false` | -| `type` | HTML `type` attribute | `'button'` | -| `disabled` | Disabled state | `false` | -| `loading` | Loading state | `false` | -| `x-small` | Render extra small | `false` | -| `small` | Render small | `false` | -| `large` | Render large | `false` | -| `x-large` | Render extra large | `false` | -| `to` | Render as vue router-link | `null` | -| `href` | Render as anchor | `null` | -| `align` | Align content in button. One of `left | center | right` | `'center'` | -| `dashed` | Render the border dashed. Meant to be used with `outlined`. | `false` | -| `tile` | Render without border radius | `false` | -| `download` | Add the `download` attribute (used in combo with `href`) | `null` | - -## Slots - -| Slot | Description | -|-----------------|----------------------------------------------| -| _default_ | Button content | -| `loading` | Content that's rendered during loading state | -| `prepend-outer` | Content that's rendered before the button | -| `append-outer` | Content that's rendered after the button | - -## Events - -| Event | Description | Value | -|---------|-----------------------|--------------| -| `click` | User clicks on button | `MouseEvent` | - -## CSS Variables - -| Variable | Default | -|-----------------------------------------|----------------------------------------------------| -| `--v-button-width` | `auto` | -| `--v-button-height` | `44px` | -| `--v-button-color` | `var(--foreground-inverted)` | -| `--v-button-color-hover` | `var(--foreground-inverted)` | -| `--v-button-color-activated` | `var(--foreground-inverted)` | -| `--v-button-color-disabled` | `var(--primary)` | -| `--v-button-background-color` | `var(--primary)` | -| `--v-button-background-color-hover` | `var(--primary)` | -| `--v-button-background-color-activated` | `var(--primary)` | -| `--v-button-background-color-disabled` | `var(--primary-alt)` | -| `--v-button-font-size` | `16px` | diff --git a/app/src/components/v-button/v-button.story.ts b/app/src/components/v-button/v-button.story.ts deleted file mode 100644 index 9ef543ecc2..0000000000 --- a/app/src/components/v-button/v-button.story.ts +++ /dev/null @@ -1,382 +0,0 @@ -import { withKnobs, text, boolean, number, color, select, optionsKnob as options } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import VButton from './v-button.vue'; -import VIcon from '../v-icon/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import VueRouter from 'vue-router'; - -import { defineComponent } from '@vue/composition-api'; - -Vue.component('v-button', VButton); -Vue.component('v-icon', VIcon); -Vue.use(VueRouter); - -const router = new VueRouter(); - -export default { - title: 'Components / Button', - component: VButton, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withText = () => ({ - methods: { onClick: action('click') }, - props: { - text: { - default: text('Text in button', 'Click me'), - }, - align: { - default: select('Align', ['left', 'center', 'right'], 'center', 'Button'), - }, - block: { - default: boolean('Block', false, 'Button'), - }, - rounded: { - default: boolean('Rounded', false, 'Button'), - }, - icon: { - default: boolean('Icon mode', false, 'Button'), - }, - outlined: { - default: boolean('Outlined', false, 'Button'), - }, - dashed: { - default: boolean('Dashed', false, 'Button'), - }, - tile: { - default: boolean('Tile', false, 'Button'), - }, - fullWidth: { - default: boolean('Full-width', false, 'Button'), - }, - type: { - default: text('Type attribute', 'button', 'Button'), - }, - loading: { - default: boolean('Loading', false, 'Button'), - }, - width: { - default: number('Width', 0, {}, 'Button'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - }, - 'Button' - ), - }, - disabled: { - default: boolean('Disabled', false, 'Button'), - }, - color: { - default: color('Color', '#ffffff', 'Colors'), - }, - backgroundColor: { - default: color('Background Color', '#263238', 'Colors'), - }, - hoverColor: { - default: color('Color (hover)', '#ffffff', 'Colors'), - }, - hoverBackgroundColor: { - default: color('Background Color (hover)', '#37474f', 'Colors'), - }, - }, - template: ` - - {{ text }} - - `, -}); - -export const withIcon = () => ({ - methods: { onClick: action('click') }, - props: { - iconName: { - default: text('Material Icon', 'add'), - }, - block: { - default: boolean('Block', false, 'Button'), - }, - rounded: { - default: boolean('Rounded', true, 'Button'), - }, - icon: { - default: boolean('Icon mode', true, 'Button'), - }, - outlined: { - default: boolean('Outlined', false, 'Button'), - }, - type: { - default: text('Type attribute', 'button', 'Button'), - }, - loading: { - default: boolean('Loading', false, 'Button'), - }, - width: { - default: number('Width', 0, {}, 'Button'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - }, - 'Button' - ), - }, - iconSize: { - default: options( - 'Size (Icon)', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - }, - 'Button' - ), - }, - disabled: { - default: boolean('Disabled', false, 'Button'), - }, - color: { - default: color('Color', '#ffffff', 'Colors'), - }, - backgroundColor: { - default: color('Background Color', '#263238', 'Colors'), - }, - hoverColor: { - default: color('Color (hover)', '#ffffff', 'Colors'), - }, - hoverBackgroundColor: { - default: color('Background Color (hover)', '#37474f', 'Colors'), - }, - }, - template: ` - - - - `, -}); - -export const sizes = () => ` -
- Extra small - Small - Default - Large - Extra Large -
-`; - -export const colors = () => ` -
- - Delete - - - Save - - - Warn - - - Hover - - - Transparent - -
-`; - -export const customLoading = () => ({ - props: { - loading: { - default: boolean('Loading', true), - }, - }, - template: ` - - Hello, World! - - `, -}); - -export const asLink = () => ({ - router: router, - template: ` - I'm a link - `, -}); - -export const addNewStyle = () => - defineComponent({ - template: ` - - Add new row - - `, - }); - -export const withSlots = () => - defineComponent({ - template: ` - - - - Click me - - - - `, - }); - -export const withSlotsWhereItMakesSense = () => - defineComponent({ - template: ` - - - - - - `, - }); diff --git a/app/src/components/v-card/readme.md b/app/src/components/v-card/readme.md deleted file mode 100644 index 1c081f28af..0000000000 --- a/app/src/components/v-card/readme.md +++ /dev/null @@ -1,167 +0,0 @@ -# Card - -Renders a card. A card is nothing but a v-sheet with predefined building blocks to enforce consistency. - -## Usage - -```html - - Hello, world! - This is a card - Consectetur enim ullamco sint sit deserunt proident consectetur. - - Save - - -``` - -Cards can be used to consistently style dialogs: - -```html - - - - - Are you sure you want to delete 1 item? - - Cancel - Yes - - - -``` - -## Props -| Prop | Description | Default | -|------------|---------------------------------------------------|---------| -| `disabled` | Disable the card, prevents all cursor interaction | `false` | -| `tile` | Render without rounded corners | `false` | - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -| Variable | Default | -|-----------------------------|--------------------| -| `--v-card-min-width` | `none` | -| `--v-card-max-width` | `400px` | -| `--v-card-min-height` | `none` | -| `--v-card-max-height` | `none` | -| `--v-card-padding` | `16px` | -| `--v-card-background-color` | `var(--background-subdued)` | - ---- - -# Card Title - -Functional component that enforces consistent styling. - -## Usage - -```html -Hello, world! -``` - -## Props -n/a - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -n/a - ---- - -# Card Subtitle - -Functional component that enforces consistent styling. - -## Usage - -```html -Hello from the subtitle -``` - -## Props -n/a - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -n/a - ---- - -# Card Text - -Functional component that enforces consistent styling. - -## Usage - -```html -Nisi anim deserunt Lorem reprehenderit laborum. -``` - -## Props -n/a - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -n/a - ---- - -# Card Actions - -Functional component that enforces consistent styling. - -## Usage - -```html - - - - -``` - -## Props -n/a - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -n/a - ---- diff --git a/app/src/components/v-card/v-card.story.ts b/app/src/components/v-card/v-card.story.ts deleted file mode 100644 index 5e661a8bea..0000000000 --- a/app/src/components/v-card/v-card.story.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { withKnobs, boolean } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import VCard from './v-card.vue'; -import VCardTitle from './v-card-title.vue'; -import VCardSubtitle from './v-card-subtitle.vue'; -import VCardText from './v-card-text.vue'; -import VCardActions from './v-card-actions.vue'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; - -Vue.component('v-card', VCard); -Vue.component('v-card-title', VCardTitle); -Vue.component('v-card-subtitle', VCardSubtitle); -Vue.component('v-card-text', VCardText); -Vue.component('v-card-actions', VCardActions); - -export default { - title: 'Components / Card', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - props: { - disabled: { - default: boolean('Disabled', false), - }, - tile: { - default: boolean('Tile', false), - }, - }, - template: ` - - Hello World! - This is the subtitle - Black ray-bans, you know she's with the band. Such a sight to see and it's all for me. Heaven is jealous of our love, angels are crying from up above. Turned the bedroom into a fair (a fair!) It’s in the palm of your hand now baby. - - `, - }); - -export const withImage = () => - defineComponent({ - props: { - disabled: { - default: boolean('Disabled', false), - }, - tile: { - default: boolean('Tile', false), - }, - }, - template: ` - - - Hello World! - This is the subtitle - Black ray-bans, you know she's with the band. Such a sight to see and it's all for me. Heaven is jealous of our love, angels are crying from up above. Turned the bedroom into a fair (a fair!) It’s in the palm of your hand now baby. - - `, - }); - -export const withActions = () => - defineComponent({ - template: ` - - Hello World! - This is the subtitle - Black ray-bans, you know she's with the band. Such a sight to see and it's all for me. Heaven is jealous of our love, angels are crying from up above. Turned the bedroom into a fair (a fair!) It’s in the palm of your hand now baby. - - Click me - Click me - - - `, - }); - -export const asDialog = () => - defineComponent({ - setup() { - const active = ref(false); - return { active }; - }, - template: ` - - - - Are you sure you want to quit? - All unsaved changes will be lost. - - Cancel - Quit - - - - `, - }); diff --git a/app/src/components/v-checkbox/readme.md b/app/src/components/v-checkbox/readme.md deleted file mode 100644 index d745ae8c57..0000000000 --- a/app/src/components/v-checkbox/readme.md +++ /dev/null @@ -1,117 +0,0 @@ -# Checkbox - -## Basic usage - -```html - -``` - -## Colors - -The colors can be changed via the css variables `--v-checkbox-color`. - -```html - - - - - - -``` - -## Boolean vs arrays - -Just as with checkboxes, you can use `v-model` with both an array and a boolean: - - -```html - - - -``` - -Keep in mind to pass the `value` prop with a unique value when using arrays in `v-model`. - -## Indeterminate - -The indeterminate state can be set with the `indeterminate` prop. We recommend using the `.sync` modifier with the indeterminate prop, so the checkbox can set change it too: - -```html - - - -``` - -If you can't, you should listen to the `update:indeterminate` event and respond to that: - -```html - -``` - -## Props -| Prop | Description | Default | -|----------------------|--------------------------------------------------------------------------|---------------------------| -| `value` | Value for checkbox. Similar to value attr on checkbox type input in HTML | `--` | -| `inputValue` | Value that's used with `v-model`. Either boolean or array of values | `false` | -| `label` | Label for the checkbox | `--` | -| `disabled` | Disable the checkbox | `false` | -| `indeterminate` | Show the indeterminate state | `false` | -| `icon-on` | What icon to use for the on state | `check_box` | -| `icon-off` | What icon to use for the off state | `check_box_outline_blank` | -| `icon-indeterminate` | What icon to use for the indeterminate state | `indeterminate_check_box` | -| `block` | Show as styled block. Matches input size | `block` | - -## Slots -| Slot | Description | -|-----------|------------------------------------------------------------------------------------------------| -| `label` | Allows custom markup and HTML to be rendered inside the label. Will override the `label` prop. | -| `prepend` | Rendered right before the checkbox | -| `append` | Rendered right after the label | - -## Events -| Event | Description | Data | -|------------------------|----------------------------|----------------------------| -| `change` | New state for the checkbox | Boolean or array of values | -| `update:indeterminate` | New state for the checkbox | Boolean or array of values | - -## CSS Variables -| Variable | Default | -|----------------------|----------------------------------------| -| `--v-checkbox-color` | `var(--background-page-active)` | diff --git a/app/src/components/v-checkbox/v-checkbox.story.ts b/app/src/components/v-checkbox/v-checkbox.story.ts deleted file mode 100644 index 4008dfcfc4..0000000000 --- a/app/src/components/v-checkbox/v-checkbox.story.ts +++ /dev/null @@ -1,189 +0,0 @@ -import { withKnobs, color, text } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import VCheckbox from '../v-checkbox'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; - -Vue.component('v-checkbox', VCheckbox); - -export default { - title: 'Components / Checkbox', - component: VCheckbox, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const booleanState = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - checked: false, - }; - }, - template: ` -
- -
{{checked}}
-
- `, -}); - -export const arrayState = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - options: ['html', 'css'], - }; - }, - template: ` -
- - - -
{{options}}
-
- `, -}); - -export const disabled = () => - `
`; - -export const indeterminate = () => ({ - data() { - return { - indeterminate: true, - value: null, - }; - }, - template: `
- -
-indeterminate: {{indeterminate}}
-value: {{value}}
-
-
`, -}); - -export const colors = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - options: ['red', 'yellow', 'custom'], - }; - }, - props: { - customColor: { - default: color('Custom color', '#4CAF50'), - }, - }, - template: ` -
- - - - -
- `, -}); - -export const htmlLabel = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - checked: true, - }; - }, - template: ` - - - - `, -}); - -export const slots = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - checked: false, - }; - }, - template: ` -
- - - - - -
- `, -}); - -export const customIcons = () => - defineComponent({ - props: { - iconOn: { - default: text('Icon (On)', 'check'), - }, - iconOff: { - default: text('Icon (Off)', 'close'), - }, - iconIndeterminate: { - default: text('Icon (Indeterminate)', 'more_horiz'), - }, - }, - setup() { - const checked = ref(false); - const indeterminate = ref(false); - return { checked, indeterminate }; - }, - template: ` -
- - -
- `, - }); - -export const blockStyle = () => - defineComponent({ - setup() { - const checked = ref(false); - const indeterminate = ref(false); - return { checked, indeterminate }; - }, - template: ` - - `, - }); diff --git a/app/src/components/v-chip/readme.md b/app/src/components/v-chip/readme.md deleted file mode 100644 index 749377d725..0000000000 --- a/app/src/components/v-chip/readme.md +++ /dev/null @@ -1,77 +0,0 @@ -# Chip - -```html -I'm a chip! -``` - -## Sizes - -The chip component supports the following sizes through the use of props: - -* x-small -* small -* (default) -* large -* x-large - -```html -I'm a chip! -``` - -## Colors - -You can set the color, background color, hover color, and background hover color with the `--v-chip-color`, `--v-chip-background-color`, `--v-chip-color-hover`, and `--v-chip-background-color-hover` css variables respectively: - -```html - I'm a chip! - -``` - -## Clicks / Closes - -There are two events, one when clicking on the chip called `click` and one when clicking on the enabled close icon called `close`. - -```html -Hello! -I'm closeable! -``` - -## Props -| Prop | Description | Default | -|-------------|------------------------------------------------------|---------| -| `active` | Change visibility. Can be reacted to via `sync` | `true` | -| `close` | Displays a close icon which triggers the close event | `false` | -| `closeIcon` | Which icon should be displayed instead of `close ` | `close` | -| `outlined` | No background | `false` | -| `label` | Label style | `false` | -| `disabled` | Disabled state | `false` | -| `x-small` | Render extra small | `false` | -| `small` | Render small | `false` | -| `large` | Render large | `false` | -| `x-large` | Render extra large | `false` | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -## Events -| Event | Description | -|---------|------------------------------------------------------------------------------------------------| -| `click` | Triggers when clicked somewhere on the chip | -| `close` | Triggers when the `close` prop is enabled and gets clicked (Doesn't trigger the `click` event) | - -## CSS Variables -| Variable | Default | -|-----------------------------------|---------------------------------------| -| `--v-chip-color` | `var(--foreground-normal)` | -| `--v-chip-background-color` | `var(--border-normal)` | -| `--v-chip-color-hover` | `var(--foreground-normal)` | -| `--v-chip-background-color-hover` | `var(--border-normal)` | diff --git a/app/src/components/v-chip/v-chip.story.ts b/app/src/components/v-chip/v-chip.story.ts deleted file mode 100644 index 12956f92c3..0000000000 --- a/app/src/components/v-chip/v-chip.story.ts +++ /dev/null @@ -1,263 +0,0 @@ -import { withKnobs, text, boolean, color, optionsKnob as options } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import VChip from './v-chip.vue'; -import VIcon from '../v-icon/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-chip', VChip); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Chip', - component: VChip, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withText = () => ({ - methods: { onClick: action('click'), onClose: action('close') }, - props: { - text: { - default: text('Text in chip', 'Click me'), - }, - label: { - default: boolean('Label', false, 'Button'), - }, - outlined: { - default: boolean('Outlined', false, 'Button'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - }, - 'Button' - ), - }, - close: { - default: boolean('Close', false, 'Button'), - }, - disabled: { - default: boolean('Disabled', false, 'Button'), - }, - active: { - default: boolean('Active', true, 'Button'), - }, - color: { - default: color('Color', '#000000', 'Colors'), - }, - backgroundColor: { - default: color('Background Color', '#cfd8dc', 'Colors'), - }, - hoverColor: { - default: color('Color (hover)', '#000000', 'Colors'), - }, - hoverBackgroundColor: { - default: color('Background Color (hover)', '#b0bec5', 'Colors'), - }, - }, - template: ` - - {{ text }} - - `, -}); - -export const withIcon = () => ({ - methods: { onClick: action('click'), onClose: action('close') }, - props: { - iconName: { - default: text('Material Icon', 'add'), - }, - text: { - default: text('Text in chip', 'Click me'), - }, - label: { - default: boolean('Label', false, 'Button'), - }, - outlined: { - default: boolean('Outlined', false, 'Button'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - }, - 'Button' - ), - }, - iconSize: { - default: options( - 'Size (Icon)', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - }, - 'Button' - ), - }, - close: { - default: boolean('Close', false, 'Button'), - }, - disabled: { - default: boolean('Disabled', false, 'Button'), - }, - active: { - default: boolean('Active', true, 'Button'), - }, - color: { - default: color('Color', '#000000', 'Colors'), - }, - backgroundColor: { - default: color('Background Color', '#cfd8dc', 'Colors'), - }, - hoverColor: { - default: color('Color (hover)', '#000000', 'Colors'), - }, - hoverBackgroundColor: { - default: color('Background Color (hover)', '#b0bec5', 'Colors'), - }, - }, - template: ` - - - {{ text }} - - `, -}); - -export const withColor = () => ({ - template: ` -
- - - Delete - - - - Add Item - - - - Watch out - -
- `, -}); - -export const sizes = () => ({ - template: ` -
- Extra small - Small - Default - Large - Extra large -
- `, -}); diff --git a/app/src/components/v-detail/readme.md b/app/src/components/v-detail/readme.md deleted file mode 100644 index af5f8e3f04..0000000000 --- a/app/src/components/v-detail/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Detail - -Allows for collapsable content - -## Usage - -```html - -``` - -## Props - -| Prop | Description | Default | -|----------|---------------------|----------------| -| `active` | Used with `v-model` | `false` | -| `label` | Label of detail | `$t('toggle')` | - -## Events -| Event | Description | Value | -|----------|-----------------------------|-----------| -| `toggle` | New active value of divider | `boolean` | - -## Slots - -| Slot | Description | Data | -|-----------|-------------------------------|-----------------------| -| _default_ | Content of the detail section | | -| `title` | Content to render in divider | `{ active: boolean }` | - -## CSS Variables -n/a diff --git a/app/src/components/v-dialog/readme.md b/app/src/components/v-dialog/readme.md deleted file mode 100644 index fe09bc626c..0000000000 --- a/app/src/components/v-dialog/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# Dialog - -Renders an overlay with a flex slot rendering whatever content you pass - -## Usage - -```html - - -

Are you sure you want to delete this item?

- No - Yes -
-
-``` - -## Props -| Prop | Description | Default | -|--------------|---------------------------------|---------| -| `persistent` | Disable clicking on the overlay | -- | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -## Events -| Events | Description | Value | -|----------|-------------------------|-----------| -| `toggle` | Change the active state | `boolean` | - -## CSS Variables -| Variable | Default | -|----------------------|---------| -| `--v-dialog-z-index` | `100` | diff --git a/app/src/components/v-dialog/v-dialog.story.ts b/app/src/components/v-dialog/v-dialog.story.ts deleted file mode 100644 index 1ed200d005..0000000000 --- a/app/src/components/v-dialog/v-dialog.story.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { boolean, withKnobs } from '@storybook/addon-knobs'; -import { defineComponent, ref } from '@vue/composition-api'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import markdown from './readme.md'; -import Vue from 'vue'; -import VDialog from './v-dialog.vue'; - -Vue.component('v-dialog', VDialog); - -export default { - title: 'Components / Dialog', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - props: { - persistent: { - default: boolean('Persistent', false), - }, - }, - setup() { - const active = ref(false); - - return { active }; - }, - template: ` -
- Activate - - -

Are you sure you want to delete this item?

- Cancel - Yes -
-
- -
- `, - }); - -export const activatorSlot = () => - defineComponent({ - props: { - persistent: { - default: boolean('Persistent', false), - }, - }, - setup() { - const active = ref(false); - - return { active }; - }, - template: ` -
- - - -

Are you sure you want to delete this item?

- Cancel - Yes -
-
- -
- `, - }); diff --git a/app/src/components/v-divider/readme.md b/app/src/components/v-divider/readme.md deleted file mode 100644 index 04878e33ea..0000000000 --- a/app/src/components/v-divider/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# Divider - -Divides content. Made to be used in `v-list` or `v-tabs` components. - -## Usage - -```html - -``` - -## Props - -| Prop | Description | Default | -| ------------- | ----------------------------------------------------- | ------- | -| `vertical` | Render the divider vertically | `false` | -| `inlineTitle` | Render the title inline with the divider, or under it | `true` | - -## Events - -n/a - -## Slots - -| Slot | Description | Data | -|-----------|--------------------------------------------------------------------------|------| -| _default_ | Label on the divider. This isn't rendered in vertical mode. | | -| `icon` | Icon on the divider. Rendered in all modes, inline with title if present | | - -## CSS Variables - -| Variable | Default | -| ------------------------- | --------------------------- | -| `--v-divider-color` | `var(--border-normal)` | -| `--v-divider-label-color` | `var(--foreground-subdued)` | diff --git a/app/src/components/v-fancy-select/readme.md b/app/src/components/v-fancy-select/readme.md deleted file mode 100644 index f890108821..0000000000 --- a/app/src/components/v-fancy-select/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# Fancy Select - -Mimics the functionality of a select, where only the current value is shown, but does it in a -different visual representation. - -## Usage - -```html - -``` - -## Props -| Prop | Description | Default | -|------------|-----------------------------------------|---------| -| `items`* | Items the user can select from | | -| `value` | Value used for v-model | `null` | -| `disabled` | Disable selecting / deselecting a value | | - -## Events -| Event | Description | Value | -|---------|----------------------------|-----------| -| `input` | Syncs value with `v-model` | `boolean` | - -## Slots -n/a - -## CSS Variables -n/a diff --git a/app/src/components/v-fancy-select/v-fancy-select.story.ts b/app/src/components/v-fancy-select/v-fancy-select.story.ts deleted file mode 100644 index 9e1cd5c0c1..0000000000 --- a/app/src/components/v-fancy-select/v-fancy-select.story.ts +++ /dev/null @@ -1,55 +0,0 @@ -import readme from './readme.md'; -import { defineComponent, ref } from '@vue/composition-api'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, boolean } from '@storybook/addon-knobs'; - -export default { - title: 'Components / Fancy Select', - parameters: { - notes: readme, - }, - decorators: [withPadding, withKnobs], -}; - -export const basic = () => - defineComponent({ - props: { - disabled: { - default: boolean('Disabled', false), - }, - }, - setup() { - const value = ref(null); - const items = [ - { - value: 'code', - icon: 'code', - text: 'Raw Value', - description: 'This works for most non-relational fields', - }, - { - value: 'palette', - icon: 'palette', - text: 'Formatted Value', - description: 'Templated formatting and conditional coloring to text values', - }, - { - value: 'label', - icon: 'label', - text: 'Placard', - description: 'Shows the value within a colored badge', - }, - { - value: 'assignment_turned_in', - icon: 'assignment_turned_in', - text: 'Progress', - description: 'Converts number values into a progress bar', - }, - ]; - - return { value, items }; - }, - template: ` - - `, - }); diff --git a/app/src/components/v-field-select/readme.md b/app/src/components/v-field-select/readme.md deleted file mode 100644 index 0797026f8a..0000000000 --- a/app/src/components/v-field-select/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Field Select diff --git a/app/src/components/v-field-template/readme.md b/app/src/components/v-field-template/readme.md deleted file mode 100644 index 2ee33e3add..0000000000 --- a/app/src/components/v-field-template/readme.md +++ /dev/null @@ -1 +0,0 @@ -# Field Template diff --git a/app/src/components/v-field-template/v-field-template.story.ts b/app/src/components/v-field-template/v-field-template.story.ts deleted file mode 100644 index a5681a1f14..0000000000 --- a/app/src/components/v-field-template/v-field-template.story.ts +++ /dev/null @@ -1,50 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { withKnobs } from '@storybook/addon-knobs'; -import fullWidth from '../../../.storybook/decorators/full-width'; -import readme from './readme.md'; -import RawValue from '../../../.storybook/raw-value.vue'; - -import { useFieldsStore, useCollectionsStore, useRelationsStore } from '@/stores/'; - -import fields from '../../../.storybook/mock-data/fields.json'; -import collections from '../../../.storybook/mock-data/collections.json'; -import relations from '../../../.storybook/mock-data/relations.json'; - -export default { - title: 'Components / Field Template', - decorators: [withPadding, withKnobs, fullWidth], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - setup() { - const req = {}; - const fieldsStore = useFieldsStore(req); - const collectionsStore = useCollectionsStore(req); - const relationsStore = useRelationsStore(req); - - // eslint-disable-next-line - fieldsStore.state = fields as any; - - // eslint-disable-next-line - collectionsStore.state = collections as any; - - // eslint-disable-next-line - relationsStore.state = relations as any; - - const value = ref('{{first_name}} ({{ last_name }})'); - return { value }; - }, - template: ` -
- - {{ value }} - -
- `, - }); diff --git a/app/src/components/v-form/readme.md b/app/src/components/v-form/readme.md deleted file mode 100644 index 13bee9d2c1..0000000000 --- a/app/src/components/v-form/readme.md +++ /dev/null @@ -1,37 +0,0 @@ -# Form - -Renders a form using interfaces based on the passed collection name. - -## Usage - -```html - -``` - -## Props - -| Prop | Description | Default | -| --------------- | ----------------------------------------------------------------------------------------------------------------------- | ------- | -| `collection` | The collection of which you want to render the fields | -- | -| `fields` | Array of fields to render. This can be used instead of the collection prop | -- | -| `initialValues` | Object of the starting values of the fields | -- | -| `edits` | The edits that were made after the form was rendered. Being used in `v-model` | -- | -| `loading` | Display the form in a loading state. Prevents the ctx menus from being used and renders skeleton loaders for the fields | `false` | - -**Note**: You have to pass either the collection or fields prop. - -## Slots - -n/a - -## Events - -| Event | Description | -| ------- | ------------------------ | -| `input` | Edits have been updated. | diff --git a/app/src/components/v-hover/readme.md b/app/src/components/v-hover/readme.md deleted file mode 100644 index 1b93a8d65f..0000000000 --- a/app/src/components/v-hover/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# Hover (util) - -```html - - - -``` - -## Delays - -You can control how long the hover state persists after the user leaves the element with the `close-delay` prop. Likewise, you can set how long it will take before the hover state is set with the `open-delay` prop: - -```html - - - - -``` - -## Props - -| Prop | Description | Default | -|---------------|----------------------------------------------|---------| -| `close-delay` | Delay (ms) before the hover state is removed | `0` | -| `open-delay` | Delay (ms) before the hover state is applied | `0` | -| `disabled` | Disables the hover state from happening | `false` | -| `tag` | What HTML tag to use for the wrapper | `div` | - -## Events -n/a - -## Slots - -Only the default slot is available. The hover state is passed as scoped slot data diff --git a/app/src/components/v-hover/v-hover.story.ts b/app/src/components/v-hover/v-hover.story.ts deleted file mode 100644 index 13c5d35f6f..0000000000 --- a/app/src/components/v-hover/v-hover.story.ts +++ /dev/null @@ -1,35 +0,0 @@ -import Vue from 'vue'; -import markdown from './readme.md'; -import VIcon from '../v-icon/'; -import VHover from './v-hover.vue'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-hover', VHover); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Hover', - component: VHover, - decorators: [withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => ` - - - -`; - -export const customMarkup = () => ` - - - - -`; diff --git a/app/src/components/v-icon/readme.md b/app/src/components/v-icon/readme.md deleted file mode 100644 index c366a3eab6..0000000000 --- a/app/src/components/v-icon/readme.md +++ /dev/null @@ -1,75 +0,0 @@ -# Icon - -The icon component allows you to render any [Material Design Icons](https://material.io/icons). It also supports rendering of custom SVG based icons. - -## Sizes / Colors - -The icon component supports multiple sizes and colors. The color prop accepts any valid CSS color. Color changes are done via the css variable `--v-icon-color` like in the example below. - -```html - - -``` - -| Prop Name | Size in PX | -|----------------|------------| -| `sup` | 8 | -| `x-small` | 12 | -| `small` | 18 | -| None (default) | 24 | -| `large` | 36 | -| `x-large` | 48 | - -The `sup` size is meant to be used as superscript. For example the required state flag. - -## Custom Size -If the default sizes don't give you the exact size you require, you can add the `size` prop with any -custom pixel value. Note: we recommend using one of the pre-defined sizes to ensure a consistent look -across the platform. - -## Outline -You can render the outline variant of the Material Icon by setting the `outline` property. - -## Click events -When you add a click event to the icon, the icon will automatically add a pointer cursor. - -## Left / Right -Oftentimes, you'll use the icon next to some text, for example in a button. When doing this, you can use the `left` / `right` props to add some spacing to the icon: - -```html - - Add new - -``` - -## Props -| Name | Description | Default | -|-------------|-------------------------------------------------------------------|---------| -| `name`* | Name of the icon | -- | -| `outline` | Use outline Material Icons. Note: only works for non-custom icons | `false` | -| `size` | Custom pixel size | `false` | -| `x-small` | Render the icon extra small | `false` | -| `small` | Render the icon small | `false` | -| `large` | Render the icon large | `false` | -| `x-large` | Render the icon extra large | `false` | -| `left` | Use when icon is left of text | `false` | -| `right` | Use when icon is right of text | `false` | -| `disabledd` | Prevent the click handler from firing | `false` | - -## Events -| Event | Description | Data | -|---------|----------------------|--------------| -| `click` | Standard click event | `MouseEvent` | - -## Slots -n/a - -## CSS Variables -| Variable | Default | -|------------------|----------------| -| `--v-icon-color` | `currentColor` | -| `--v-icon-size` | `24px` | diff --git a/app/src/components/v-icon/v-icon.story.ts b/app/src/components/v-icon/v-icon.story.ts deleted file mode 100644 index cb3a6a5d5b..0000000000 --- a/app/src/components/v-icon/v-icon.story.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { withKnobs, text, boolean, number, color, optionsKnob as options } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import VIcon from '../v-icon/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Icon', - component: VIcon, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const interactive = () => ({ - methods: { onClick: action('click') }, - props: { - name: { - default: text('Icon Name', 'person'), - }, - color: { - default: color('Color', '#37474f'), - }, - outline: { - default: boolean('Outline', false), - }, - sup: { - default: boolean('Superscript', false), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - } - ), - }, - customSize: { - default: number('Size (in px)', 0), - }, - }, - template: ` - - `, -}); - -export const superscript = () => - `Title`; - -export const sizesAndColors = () => ` -
- - - - - - -
-`; - -export const withClickEvent = () => ({ - methods: { - click: action('click'), - }, - template: ` - -`, -}); - -export const leftRight = () => ({ - template: ` -
- - Add - - - Remove - -
-`, -}); diff --git a/app/src/components/v-info/readme.md b/app/src/components/v-info/readme.md deleted file mode 100644 index fb3ca525af..0000000000 --- a/app/src/components/v-info/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# Info - -Renders a stylized informational placard. It's similar in `v-notice` in it's use case. - -## Usage - -```html - - We couldn't find the user you're looking for. - -``` - -## Props -| Prop | Description | Default | -|----------|-----------------------------------------------|---------| -| `title`* | Title for the info section | | -| `icon` | What icon to render above the title | `box` | -| `type` | One of `info`, `success`, `warning`, `danger` | `info` | - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|--------------------------------------------------------------|------| -| _default_ | Default content area. Is rendered within a styled `

` tag. | | -| `append` | After the main body copy. Can be used to inject buttons etc. | | - -## CSS Variables -n/a diff --git a/app/src/components/v-info/v-info.story.ts b/app/src/components/v-info/v-info.story.ts deleted file mode 100644 index f2f3abcadf..0000000000 --- a/app/src/components/v-info/v-info.story.ts +++ /dev/null @@ -1,28 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import readme from './readme.md'; -import { defineComponent } from '@vue/composition-api'; -import { withKnobs, select } from '@storybook/addon-knobs'; - -export default { - title: 'Components / Info', - decorators: [withPadding, withKnobs], - parameters: { notes: readme }, -}; - -export const basic = () => - defineComponent({ - props: { - type: { - default: select('Type', ['info', 'success', 'warning', 'danger'], 'info'), - }, - }, - template: ` - - It looks like you don’t have any Collections yet. - Fortunately, it’s very easy to create one — click the button below to get started. - - - `, - }); diff --git a/app/src/components/v-input/readme.md b/app/src/components/v-input/readme.md deleted file mode 100644 index c0f740303d..0000000000 --- a/app/src/components/v-input/readme.md +++ /dev/null @@ -1,57 +0,0 @@ -# Input - -```html - -``` - -## Attributes & Events - -The HTML `` element supports a huge amount of attributes and events. In order to support all of these, all props that aren't specially handled (see list below) will be passed on to the `` element directly. This allows you to change anything you want on the input. - -## Prefixes / Suffixes - -You can add any custom (text) prefix/suffix to the value in the input using the `prefix` and `suffix` slots. - -## Props - -| Prop | Description | Default | -| ---------------- | ------------------------------------------- | ------- | -| `autofocus` | Autofocusses the input on render | `false` | -| `disabled` | Set the disabled state for the input | `false` | -| `full-width` | Render the input with 100% width | `false` | -| `prefix` | Prefix the users value with a value | -- | -| `suffix` | Show a value at the end of the input | -- | -| `slug` | Force the value to be URL safe | `false` | -| `slug-separator` | What character to use as separator in slugs | `-` | -| `active` | Force the focus state | `false` | -| `trim` | Trim the start and end whitespace | `false` | - -Note: all other attached attributes are bound to the input HTMLELement in the component. This allows you to attach any of the standard HTML attributes like `min`, `length`, or `pattern`. - -## Slots - -| Slot | Description | Data | -| --------------- | ------------------------------------------------- | ------------------------------------------------ | -| `prepend-outer` | Before the input | `{ disabled: boolean, value: string | number; }` | -| `prepend` | In the input, before the value, before the prefix | `{ disabled: boolean, value: string | number; }` | -| `append` | In the input, after the value, after the suffix | `{ disabled: boolean, value: string | number; }` | -| `append-outer` | After the input | `{ disabled: boolean, value: string | number; }` | - -## Events - -| Events | Description | Value | -| --------------------- | -------------------------------------------- | ----- | -| `input` | Updates `v-model` | `any` | -| `click:append` | User clicks on content of inner append slot | -- | -| `click:prepend` | User clicks on content of inner prepend slot | -- | -| `click:append-outer` | User clicks on content of outer append slot | -- | -| `click:prepend-outer` | User clicks on content of outer prepend slot | -- | - -Note: all other listeners are bound to the input HTMLElement, allowing you to handle everything from `keydown` to `emptied`. - -## CSS Variables - -| Variable | Default | -|-------------------------------|-----------------------------| -| `--v-input-font-family` | `var(--family-sans-serif)` | -| `--v-input-placeholder-color` | `var(--foreground-subdued)` | diff --git a/app/src/components/v-input/v-input.story.ts b/app/src/components/v-input/v-input.story.ts deleted file mode 100644 index f2e82c0ed2..0000000000 --- a/app/src/components/v-input/v-input.story.ts +++ /dev/null @@ -1,144 +0,0 @@ -import { withKnobs, text, boolean } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import VInput from './v-input.vue'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import VMenu from '@/components/v-menu'; -import RawValue from '../../../.storybook/raw-value.vue'; - -Vue.component('v-input', VInput); -Vue.directive('focus', {}); - -export default { - title: 'Components / Input', - component: VInput, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - placeholder: { - default: text('Placeholder', 'Enter a value...', 'Options'), - }, - trim: { - default: boolean('Trim', false, 'Options'), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -

- - {{ value }} -
- `, - }); - -export const monospace = () => ({ - data() { - return { - value: '', - }; - }, - template: ` -
- -
-`, -}); - -export const disabled = () => ``; - -export const fullWidth = () => ` - -`; - -export const forceSlug = () => - defineComponent({ - components: { RawValue }, - props: { - separator: { - default: text('Slug Separator', '-'), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); - -export const prefixSuffix = () => ` -
- - -
-`; - -export const withSlots = () => ({ - data() { - return { - value: '', - }; - }, - template: ` -
- - - - - - - - - - - - - - - - - - -
- `, -}); - -export const withMenu = () => - defineComponent({ - components: { VMenu }, - template: ` -
- - - - - - Item {{i}} - - - - -
- `, - }); diff --git a/app/src/components/v-item-group/readme.md b/app/src/components/v-item-group/readme.md deleted file mode 100644 index 57436263c4..0000000000 --- a/app/src/components/v-item-group/readme.md +++ /dev/null @@ -1,177 +0,0 @@ -# Item Group - -Provides the ability to make groups of items out of any nested component. Can be reused to make more advanced selectable elements like a list of cards, or a button group. - -## Usage - -```html - - - -``` - -The `v-item-group` component will keep the final state for the selection; every nested `v-item` component will be registered to the context of the first `v-item-group` parent up in the tree. This means that `v-item` can be in any nested component or sibling: - -```html - - -
- -
-
- - - -
-
-``` - -It also means you can theoretically nest item-groups inside of items: - - -```html - - -
- - - -
- -
-
- - - -
-
-
-
-
- - - -
-
-``` - -(That being said, if you ever find yourself in this situation, think long and hard if what you're doing makes sense) - -### Active / Toggle - -Every `v-item` provides the `active` state and a `toggle` function to the default slot. Use this to render custom markup / styling and to toggle the active state for this item: - -```html - -

- Am I active? {{ active }} -

- Toggle active state -
-``` - -### Custom values - -By default, the `v-item-group` component will use the index of the child as model value (eg `[2, 4]`). The child `v-item` component accepts a `value` prop that lets you choose what is used as identifier for the v-item. This can be useful when you're working with a predefined list of items: - -```html - - - -``` - -In this case, the selection state for all items selected would be `[15, 414, 'jolly']` - -## Props - -### Item Group (`v-item-group`) -| Prop | Description | Default | -|-------------|---------------------------------------------------------|---------| -| `mandatory` | Require an item to be selected | `false` | -| `max` | Only allow a maximum of n items | `-1` | -| `multiple` | Allow multiple items to be selected | `false` | -| `value` | The v-model value. Selection of indexes / custom values | -- | - -### Item (`v-item`) -| Prop | Description | Default | -|---------|-------------------------------------------|---------| -| `value` | Custom value to be used in v-model values | --* | - -\* `value` defaults to the index of the item in the markup if value isn't set - -## Slots - -### Item Group (`v-item-group`) -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -### Item (`v-item`) -| Slot | Description | Data | -|-----------|-------------|-----------------------------------------| -| _default_ | | { active: boolean, toggle: () => void } | - -## Events - -### Item Group (`v-item-group`) -| Event | Description | Data | -|---------|----------------------------------|-----------------------| -| `input` | Used to update the v-model value | `(string | number)[]` | - -### Item (`v-item`) -n/a - -## CSS Variables - -### Item Group (`v-item-group`) -n/a - -### Item (`v-item`) -n/a diff --git a/app/src/components/v-item-group/v-item-group.story.ts b/app/src/components/v-item-group/v-item-group.story.ts deleted file mode 100644 index beec91b2e0..0000000000 --- a/app/src/components/v-item-group/v-item-group.story.ts +++ /dev/null @@ -1,91 +0,0 @@ -import Vue from 'vue'; -import { withKnobs, boolean, number } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import VItemGroup from './v-item-group.vue'; -import VItem from './v-item.vue'; - -Vue.component('v-item-group', VItemGroup); -Vue.component('v-item', VItem); - -export default { - title: 'Components / Item Group', - component: VItemGroup, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => ({ - data() { - return { - selection: null, - }; - }, - props: { - mandatory: { - default: boolean('Mandatory', false), - }, - max: { - default: number('Max', -1), - }, - multiple: { - default: boolean('Multiple', false), - }, - }, - template: ` -
- - -
- I'm {{ active ? 'active ✨' : 'not active' }} -
-
-
-
v-model value: {{JSON.stringify(selection)}}
-
- `, -}); - -export const customValues = () => ({ - data() { - return { - selection: null, - }; - }, - props: { - mandatory: { - default: boolean('Mandatory', false), - }, - max: { - default: number('Max', -1), - }, - multiple: { - default: boolean('Multiple', false), - }, - }, - template: ` -
- - -
- I'm {{ active ? 'active ✨' : 'not active' }} -
-
-
-
v-model value: {{JSON.stringify(selection)}}
-
- `, -}); diff --git a/app/src/components/v-menu/readme.md b/app/src/components/v-menu/readme.md deleted file mode 100644 index de59faf323..0000000000 --- a/app/src/components/v-menu/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Menu - -Renders a dropdown menu. Can be attached to an activator element or free floating. - -**NOTE** - -Due to the fact that a menu is rendered through a portal, dialogs don't work great when rendered from -within a menu. If you ever find yourself doing this: - -## Props - -| Prop | Description | Default | -|--------------------------|-------------------------------------------------------------------|-------------| -| `placement` | Where to position the popper. | `bottom` | -| `value` | Value to control menu active state | `undefined` | -| `close-on-click` | Close the menu when clicking outside of the menu | `true` | -| `close-on-content-click` | Close the menu when clicking the content of the menu | `true` | -| `attached` | Attach the menu to an input | `false` | -| `show-arrow` | Show an arrow pointer | `false` | -| `disabled` | Menu does not appear | `false` | -| `trigger` | Activate the menu on a trigger. One of `manual`, `click`, `hover` | `null` | -| `delay` | Time in ms before menu activates after trigger | `0` | - -## Slots - -| Slot | Description | Data | -| --------- | ----------------------------------------------------------------------------------- | ---- | -| _default_ | Menu content | | -| activator | Activator element. Attaches click and mouse enter/leave handlers on wrapper element | | diff --git a/app/src/components/v-menu/v-menu.story.ts b/app/src/components/v-menu/v-menu.story.ts deleted file mode 100644 index 4090959bb8..0000000000 --- a/app/src/components/v-menu/v-menu.story.ts +++ /dev/null @@ -1,231 +0,0 @@ -import { withKnobs, boolean, select } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import VMenu from './v-menu.vue'; -import VButton from '@/components/v-button/'; -import { VList, VListItem } from '@/components/v-list/'; -import { defineComponent, ref } from '@vue/composition-api'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import VCheckbox from '@/components/v-checkbox/'; -import VInput from '@/components/v-input/'; - -export default { - title: 'Components / Menu', - parameters: { - notes: markdown, - }, - decorators: [withKnobs, withPadding], -}; - -export const basic = () => - defineComponent({ - components: { VMenu, VButton, VList, VListItem }, - props: { - closeOnClick: { - default: boolean('Close on Click', true), - }, - closeOnContentClick: { - default: boolean('Close on Content Click', false), - }, - }, - template: ` -
- - - - - - Item {{i}} - - - - -
- `, - }); - -export const withVModel = () => - defineComponent({ - components: { VMenu, VButton, VList, VListItem, VCheckbox }, - setup() { - const value = ref(false); - return { value }; - }, - template: ` -
- - - - - - - - Item {{i}} - - - - -
- `, - }); - -export const positioning = () => - defineComponent({ - components: { VMenu, VButton, VList, VListItem, VCheckbox }, - props: { - placement: { - default: select( - 'Placement', - [ - 'auto', - 'auto-start', - 'auto-end', - 'top', - 'top-start', - 'top-end', - 'bottom', - 'bottom-start', - 'bottom-end', - 'right', - 'right-start', - 'right-end', - 'left', - 'left-start', - 'left-end', - ], - 'auto' - ), - }, - showArrow: { - default: boolean('Show arrow', true), - }, - }, - template: ` -
- - - - - - Item {{i}} - - - - -
- `, - }); - -export const withEdgeOffset = () => - defineComponent({ - components: { VMenu, VButton, VList, VListItem }, - props: { - closeOnClick: { - default: boolean('Close on Click', true), - }, - closeOnContentClick: { - default: boolean('Close on Content Click', false), - }, - showArrow: { - default: boolean('Show arrow', true), - }, - placement: { - default: select( - 'Placement', - [ - 'auto', - 'auto-start', - 'auto-end', - 'top', - 'top-start', - 'top-end', - 'bottom', - 'bottom-start', - 'bottom-end', - 'right', - 'right-start', - 'right-end', - 'left', - 'left-start', - 'left-end', - ], - 'auto' - ), - }, - }, - template: ` -
-
- - - - - - Item {{i}} - - - -
- -
- `, - }); - -export const attached = () => - defineComponent({ - components: { VMenu, VInput, VList, VListItem }, - props: { - closeOnClick: { - default: boolean('Close on Click', true), - }, - closeOnContentClick: { - default: boolean('Close on Content Click', false), - }, - }, - template: ` -
- - - - - - Item {{i}} - - - - -
- `, - }); diff --git a/app/src/components/v-notice/readme.md b/app/src/components/v-notice/readme.md deleted file mode 100644 index efd0b5ffb8..0000000000 --- a/app/src/components/v-notice/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Notice - -```html -I'm a notice! -``` - -## Props -| Prop | Description | Default | -|-----------|--------------------------------------------------------------------|---------| -| `type` | One of `info`, `success`, `warning`, `danger` | `info` | -| `icon` | Custom icon name, or false if you want to hide the icon completely | `null` | -| `center` | Render notice content centered | `false` | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -## Events -n/a - -## CSS Variables -| Variable | Default | -|-------------------------------|-----------------------------| -| `--v-notice-color` | `var(--foreground-subdued)` | -| `--v-notice-background-color` | `var(--background-subdued)` | -| `--v-notice-icon-color` | `var(--foreground-subdued)` | diff --git a/app/src/components/v-notice/v-notice.story.ts b/app/src/components/v-notice/v-notice.story.ts deleted file mode 100644 index 0d1f761372..0000000000 --- a/app/src/components/v-notice/v-notice.story.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { withKnobs, text, select } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import VNotice from './v-notice.vue'; -import VIcon from '../v-icon/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-notice', VNotice); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Notice', - component: VNotice, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withText = () => ({ - props: { - text: { - default: text('Text', 'This is a notice'), - }, - type: { - default: select('Type', ['info', 'success', 'warning', 'danger'], 'info'), - }, - }, - template: `{{text}}`, -}); - -export const withCustomColors = () => ({ - props: { - color: { - default: text('Color', 'red'), - }, - backgroundColor: { - default: text('Background Color', 'papayawhip'), - }, - iconColor: { - default: text('Icon Color', 'blue'), - }, - }, - template: ` - This is a notice - `, -}); - -export const withCustomIcon = () => ({ - props: { - icon: { - default: text('Icon', 'translate'), - }, - }, - template: ` - This is a notice - `, -}); - -export const noIcon = () => ({ - template: ` - This is a notice - `, -}); diff --git a/app/src/components/v-overlay/readme.md b/app/src/components/v-overlay/readme.md deleted file mode 100644 index 9a7c63045c..0000000000 --- a/app/src/components/v-overlay/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# Overlay - -```html - - Close overlay - -``` - -The overlay is a fairly barebones component that's meant to be used with modals / confirms / other attention requiring actions. - -## Color - -The colors can be changed via the css variable `--v-overlay-color`. - -```html - - Close overlay - - -``` - -## Props -| Prop | Description | Default | -|------------|---------------------------|-----------------------| -| `active` | Show / hide the overlay | `false` | -| `absolute` | Add `position: absolute;` | `false` | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | -- | - -## Events -| Event | Description | Value | -|---------|-------------|--------------| -| `click` | | `MouseEvent` | - -## CSS Variables -| Variable | Default | -|-----------------------|----------------------------| -| `--v-overlay-color` | `var(--overlay-color)` | -| `--v-overlay-z-index` | `500` | diff --git a/app/src/components/v-overlay/v-overlay.story.ts b/app/src/components/v-overlay/v-overlay.story.ts deleted file mode 100644 index 2ee65aa02d..0000000000 --- a/app/src/components/v-overlay/v-overlay.story.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { withKnobs, text, boolean, number } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import VOverlay from '../v-overlay'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-overlay', VOverlay); - -export default { - title: 'Components / Overlay', - component: VOverlay, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const interactive = () => ({ - props: { - absolute: { - default: boolean('Absolute', false), - }, - color: { - default: text('Color', 'rgba(38, 50, 56, 0.75)'), - }, - zIndex: { - default: number('z-index', 500), - }, - }, - data() { - return { - active: false, - }; - }, - template: ` -
- Show overlay - - - Close overlay - -
- `, -}); - -export const withClick = () => ({ - props: { - absolute: { - default: boolean('Absolute', false), - }, - color: { - default: text('Color', 'rgba(38, 50, 56, 0.75)'), - }, - zIndex: { - default: number('z-index', 500), - }, - }, - data() { - return { - active: false, - }; - }, - methods: { - click(event: MouseEvent) { - action('click')(event); - (this as any).active = false; - }, - }, - template: ` -
- Show overlay - - -
- `, -}); diff --git a/app/src/components/v-pagination/readme.md b/app/src/components/v-pagination/readme.md deleted file mode 100644 index cb386ed843..0000000000 --- a/app/src/components/v-pagination/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Pagination - -## Usage - -```html - -``` - -## Props -| Prop | Description | Default | -|-------------------|--------------------------------------------------|---------| -| `disabled` | Disables the pagination | `false` | -| `length`* | Length of the pagination component | | -| `total-visible` | Specify the max total visible pagination numbers | | -| `value` | Currently selected page | | -| `show-first-last` | Show first/last buttons | `false` | - -## Events -| Event | Description | Value | -|---------|-----------------------|----------| -| `input` | When the page changes | `number` | - -## Slots -n/a - -## CSS Variables -| Variable | Default | -|-------------------------------|-----------------| -| `--v-pagination-active-color` | `var(--primary)` | diff --git a/app/src/components/v-pagination/v-pagination.story.ts b/app/src/components/v-pagination/v-pagination.story.ts deleted file mode 100644 index 583af0544c..0000000000 --- a/app/src/components/v-pagination/v-pagination.story.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { withKnobs, boolean, number } from '@storybook/addon-knobs'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import markdown from './readme.md'; -import { defineComponent, ref } from '@vue/composition-api'; - -import VPagination from './v-pagination.vue'; - -export default { - title: 'Components / Pagination', - decorators: [withPadding, withKnobs], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { VPagination }, - props: { - disabled: { - default: boolean('Disabled', false), - }, - length: { - default: number('Length', 10), - }, - totalVisible: { - default: number('Total Visible', 5), - }, - showFirstLast: { - default: boolean('Show first/last', false), - }, - }, - setup() { - const currentPage = ref(1); - return { currentPage }; - }, - template: ` - - `, - }); diff --git a/app/src/components/v-progress/circular/v-progress-circular.story.ts b/app/src/components/v-progress/circular/v-progress-circular.story.ts deleted file mode 100644 index 3cdc3e9036..0000000000 --- a/app/src/components/v-progress/circular/v-progress-circular.story.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { withKnobs, color, optionsKnob as options, number, text, boolean } from '@storybook/addon-knobs'; - -import Vue from 'vue'; -import VProgressCircular from './v-progress-circular.vue'; -import markdown from './readme.md'; -import withPadding from '../../../../.storybook/decorators/with-padding'; - -Vue.component('v-progress-circular', VProgressCircular); - -export default { - title: 'Components / Progress (circular)', - component: VProgressCircular, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const interactive = () => ({ - props: { - value: { - default: number('Value', 60), - }, - indeterminate: { - default: boolean('Indeterminate', false), - }, - color: { - default: color('Color', '#263238'), - }, - backgroundColor: { - default: color('Background Color', '#cfd8dc'), - }, - size: { - default: options( - 'Size', - { - 'Extra Small': 'xSmall', - Small: 'small', - '(default)': 'default', - Large: 'large', - 'Extra Large': 'xLarge', - }, - 'default', - { - display: 'select', - } - ), - }, - speed: { - default: text('Speed (css, eg 200ms)', '2s'), - }, - customSize: { - default: text('Size (in px)', ''), - }, - customLineSize: { - default: text('Line Size (in px)', ''), - }, - }, - template: ` - `, -}); - -export const colors = () => ` -
- - - - - -
-`; - -export const sizes = () => ` -
- - - - - -
-`; - -export const speed = () => ` -
- - - - - -
-`; - -export const withSlot = () => ` -
- - 60% - - - - -
-`; diff --git a/app/src/components/v-progress/linear/v-progress-linear.story.ts b/app/src/components/v-progress/linear/v-progress-linear.story.ts deleted file mode 100644 index 73eb695fea..0000000000 --- a/app/src/components/v-progress/linear/v-progress-linear.story.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { withKnobs, color, number, boolean } from '@storybook/addon-knobs'; - -import Vue from 'vue'; -import VProgressLinear from './v-progress-linear.vue'; -import markdown from './readme.md'; -import withPadding from '../../../../.storybook/decorators/with-padding'; - -Vue.component('v-progress-linear', VProgressLinear); - -export default { - title: 'Components / Progress (linear)', - component: VProgressLinear, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const interactive = () => ({ - props: { - absolute: { - default: boolean('Absolute', false), - }, - backgroundColor: { - default: color('Background Color', '#cfd8dc'), - }, - bottom: { - default: boolean('Bottom', false), - }, - color: { - default: color('Color', '#263238'), - }, - fixed: { - default: boolean('Fixed', false), - }, - height: { - default: number('Height', 4), - }, - indeterminate: { - default: boolean('Indeterminate', false), - }, - rounded: { - default: boolean('Rounded', false), - }, - top: { - default: boolean('Top', false), - }, - value: { - default: number('Value (percentage)', 50), - }, - }, - template: ` - `, -}); - -export const withSlot = () => ` -25% -`; diff --git a/app/src/components/v-radio/readme.md b/app/src/components/v-radio/readme.md deleted file mode 100644 index a627264df4..0000000000 --- a/app/src/components/v-radio/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# Radio - -Classic radio buttons. Nothing special. - -## Usage - -```html - - - -``` - -## Props -| Prop | Description | Default | -|---------------|----------------------------------------------|---------| -| `value`* | What value to save in `v-model` when checked | | -| `input-value` | Selected value. Used as value for `v-model` | | -| `label` | Label to render next to the radio | | -| `disabled` | Disable the radio button | `false` | - -## Events -| Event | Description | Value | -|----------|---------------------------------------------------------------|----------| -| `change` | When the state of the radio button changes. Used in `v-model` | `string` | - -## Slots -| Slot | Description | Data | -|---------|-----------------------------------------------------------------------------------|------| -| `label` | Custom override for label slot. Allows you to render custom markup in label slot. | | - -## CSS Variables -| Variable | Default | -|-------------------|------------------| -| `--v-radio-color` | `var(--primary)` | diff --git a/app/src/components/v-radio/v-radio.story.ts b/app/src/components/v-radio/v-radio.story.ts deleted file mode 100644 index 08b2e30869..0000000000 --- a/app/src/components/v-radio/v-radio.story.ts +++ /dev/null @@ -1,57 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import readme from './readme.md'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; -import { withKnobs, boolean } from '@storybook/addon-knobs'; - -export default { - title: 'Components / Radio', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - - - {{ value }} -
- `, - }); - -export const blockStyle = () => - defineComponent({ - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - - - {{ value }} -
- `, - }); diff --git a/app/src/components/v-select/readme.md b/app/src/components/v-select/readme.md deleted file mode 100644 index 7b73b034ed..0000000000 --- a/app/src/components/v-select/readme.md +++ /dev/null @@ -1,54 +0,0 @@ -# Select - -Renders a dropdown input. - -## Usage - -```html - -``` - -## Props - -| Prop | Description | Default | -|--------------------------|-----------------------------------------------------|---------| -| `items`\* | Items to render in the select | | -| `itemText` | What item value to use for the display text | `text` | -| `itemValue` | What item value to use for the item value | `value` | -| `value` | Currently selected item(s) | | -| `multiple` | Allow multiple items to be selected | `false` | -| `placeholder` | What placeholder to show when no items are selected | | -| `full-width` | Render the select at full width | | -| `disabled` | Disable the select | | -| `show-deselect` | Show the deselect option when a value has been set | | -| `close-on-content-click` | Close the select when selecting a value | `true` | -| `inline` | Render the select inline in text | `false` | - - -## Events - -| Event | Description | Value | -| ------- | ------------------------ | --------------------------------------- | -| `input` | New value for the select | `(string | number)[] | string | number` | - -## Slots - -n/a - -## CSS Variables - -| Variable | Default | -| ------------------------ | -------------------------- | -| `--v-select-font-family` | `var(--family-sans-serif)` | diff --git a/app/src/components/v-select/v-select.story.ts b/app/src/components/v-select/v-select.story.ts deleted file mode 100644 index 31cfbf2476..0000000000 --- a/app/src/components/v-select/v-select.story.ts +++ /dev/null @@ -1,95 +0,0 @@ -import readme from './readme.md'; -import { defineComponent, ref } from '@vue/composition-api'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, array, text, boolean } from '@storybook/addon-knobs'; -import RawValue from '../../../.storybook/raw-value.vue'; -import i18n from '@/lang'; - -import VSelect from './v-select.vue'; - -export default { - title: 'Components / Select', - parameters: { - notes: readme, - }, - decorators: [withKnobs, withPadding], -}; - -export const basic = () => - defineComponent({ - i18n, - components: { VSelect, RawValue }, - props: { - items: { - default: array('Items', ['Item 1', 'Item 2', 'Item 3']), - }, - placeholder: { - default: text('Placeholder', 'Enter value...'), - }, - showDeselect: { - default: boolean('Show Deselect', false), - }, - allowOther: { - default: boolean('Allow Other', false), - }, - inline: { - default: boolean('Inline', false), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - {{ value }} - -
- `, - }); - -export const multiple = () => - defineComponent({ - i18n, - components: { VSelect, RawValue }, - props: { - items: { - default: array('Items', ['Item 1', 'Item 2', 'Item 3']), - }, - placeholder: { - default: text('Placeholder', 'Enter value...'), - }, - showDeselect: { - default: boolean('Show Deselect', false), - }, - allowOther: { - default: boolean('Allow Other', false), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - {{ value }} - -
- `, - }); diff --git a/app/src/components/v-sheet/readme.md b/app/src/components/v-sheet/readme.md deleted file mode 100644 index fe4d4792a5..0000000000 --- a/app/src/components/v-sheet/readme.md +++ /dev/null @@ -1,47 +0,0 @@ -# Sheet - -```html - -``` - -A sheet is a component that holds other components. It provides a visual difference (layer) on the page. It's often used when grouping fields. - -## Sizing - -The sheet component has props for `height`, `width`, `min-height`, `min-width`, `max-height`, and `max-width`. All of these props are in pixels. - -## Color - -The color can be changed via the css variable called `--v-sheet-color`. - -```html - - -``` - -## Props -n/a - -## Slots -| Slot | Description | Data | -|-----------|-------------|-------| -| _default_ | | -- | - -## Events -n/a - -## CSS Variables -| Variable | Default | -|------------------------------|-------------------------------------| -| `--v-sheet-background-color` | `var(--background-page-alt)` | -| `--v-sheet-height` | `auto` | -| `--v-sheet-min-height` | `var(--input-height)` | -| `--v-sheet-max-height` | `none` | -| `--v-sheet-width` | `auto` | -| `--v-sheet-min-width` | `none` | -| `--v-sheet-max-width` | `none` | -| `--v-sheet-padding` | `8px` | diff --git a/app/src/components/v-sheet/v-sheet.story.ts b/app/src/components/v-sheet/v-sheet.story.ts deleted file mode 100644 index b615cc2d9c..0000000000 --- a/app/src/components/v-sheet/v-sheet.story.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { withKnobs, text, color } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import VSheet from './v-sheet.vue'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-sheet', VSheet); - -export default { - title: 'Components / Sheet', - component: VSheet, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const interactive = () => ({ - props: { - text: { - default: text( - 'Text', - 'A sheet is component holds other components. It provides an extra visual layer on the page.' - ), - }, - color: { - default: color('Color', '#f9fafa'), - }, - width: { - default: text('Width', 'auto'), - }, - height: { - default: text('Height', 'auto'), - }, - minWidth: { - default: text('Min Width', 'none'), - }, - minHeight: { - default: text('Min Height', 'var(--input-height)'), - }, - maxWidth: { - default: text('Max Width', 'none'), - }, - maxHeight: { - default: text('Max Height', 'none'), - }, - padding: { - default: text('Padding', '8px'), - }, - }, - template: ` - {{ text }}`, -}); - -export const colorsSizes = () => ` -
- - - - - -
-`; diff --git a/app/src/components/v-skeleton-loader/readme.md b/app/src/components/v-skeleton-loader/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/components/v-skeleton-loader/v-skeleton-loader.story.ts b/app/src/components/v-skeleton-loader/v-skeleton-loader.story.ts deleted file mode 100644 index dad0f09bc3..0000000000 --- a/app/src/components/v-skeleton-loader/v-skeleton-loader.story.ts +++ /dev/null @@ -1,24 +0,0 @@ -import readme from './readme.md'; -import { withKnobs, select } from '@storybook/addon-knobs'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent } from '@vue/composition-api'; - -export default { - title: 'Components / Skeleton Loader', - parameters: { - notes: readme, - }, - decorators: [withPadding, withKnobs], -}; - -export const basic = () => - defineComponent({ - props: { - type: { - default: select('Type', ['input', 'input-tall', 'list-item-icon'], 'input'), - }, - }, - template: ` - - `, - }); diff --git a/app/src/components/v-slider/readme.md b/app/src/components/v-slider/readme.md deleted file mode 100644 index dd67f50c2d..0000000000 --- a/app/src/components/v-slider/readme.md +++ /dev/null @@ -1,85 +0,0 @@ -# Slider - -```html - -``` - -## Color - -The colors can be changed via the css variables `--v-slider-color`, `--v-slider-fill-color` and `--v-slider-thumb-color`. - -```html - - -``` - -## Thumb Label - -You can show the current value of the slider when the user is sliding by enabling the thumb label. This can be done by setting the `show-thumb-label` prop: - -```html - -``` - -## Ticks - -You can render an indicator for every step of the slider. This allows the user to know what kind of steps are available when sliding the slider. You can enable this with the `show-ticks` prop. - -```html - -``` - -## Prepend / Append slot - -You can add any custom content before and after the slider (inline). This can be used to render things like buttons to decrease / increase the value, or a label that shows a preview of what the value with a unit is going to be. - -```html - - - - -``` - -## Props - -| Prop | Description | Default | -| ------------------ | --------------------------------------------------- | ------- | -| `max` | Maximum allowed value | `100` | -| `min` | Minimum allowed value | `0` | -| `show-thumb-label` | Show the thumb label on drag of the thumb | `false` | -| `show-ticks` | Show tick for each step | `false` | -| `step` | In what step the value can be entered | `1` | -| `value` | Current value of slider. Can be used with `v-model` | `50` | - -## Events - -| Event | Description | Value | -| -------- | ------------------------------------------- | -------- | -| `change` | Fires only when the user releases the thumb | `number` | -| `input` | Fires continuously | `number` | - -## Slots - -| Slot | Description | Props | -| ------------- | ---------------------------------- | ------------------- | -| `append` | Inserted after the slider track | -- | -| `prepend` | Inserted before the slider track | -- | -| `thumb-label` | Custom content for the thumb label | `{ value: number }` | - -## CSS Variables - -| Variable | Default | -| ------------------------ | -------------------------------- | -| `--v-slider-color` | `var(--slider-track-color)` | -| `--v-slider-fill-color` | `var(--slider-track-fill-color)` | -| `--v-slider-thumb-color` | `var(--slider-thumb-color)` | diff --git a/app/src/components/v-slider/v-slider.story.ts b/app/src/components/v-slider/v-slider.story.ts deleted file mode 100644 index c8d24d247a..0000000000 --- a/app/src/components/v-slider/v-slider.story.ts +++ /dev/null @@ -1,249 +0,0 @@ -import { action } from '@storybook/addon-actions'; -import { withKnobs, color, boolean, number } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import markdown from './readme.md'; -import VIcon from '../v-icon/'; -import VSlider from './v-slider.vue'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-slider', VSlider); -Vue.component('v-icon', VIcon); - -export default { - title: 'Components / Slider', - decorators: [withKnobs, withPadding], - component: VSlider, - parameters: { - notes: markdown, - }, -}; - -export const interactive = () => ({ - data() { - return { - value: 15, - }; - }, - props: { - trackColor: { - default: color('Track Color', '#cfd8dc'), - }, - trackFillColor: { - default: color('Track Fill Color', '#37474f'), - }, - thumbColor: { - default: color('Thumb Color', '#37474f'), - }, - showThumbLabel: { - default: boolean('Show Thumb Label', false), - }, - showTicks: { - default: boolean('Show Ticks', false), - }, - max: { - default: number('Max value', 25), - }, - min: { - default: number('Min value', 5), - }, - step: { - default: number('Step', 1), - }, - }, - methods: { - onInput: action('input'), - onChange: action('change'), - clickPrepend: action('click:prepend'), - clickAppend: action('click:append'), - }, - template: ` -
- -
-value: {{value}}
-
-
-`, -}); - -export const withTicks = () => ({ - data() { - return { - value: 12, - }; - }, - methods: { - onInput: action('input'), - onChange: action('change'), - clickPrepend: action('click:prepend'), - clickAppend: action('click:append'), - }, - template: ` - -`, -}); - -export const withThumbLabel = () => ({ - data() { - return { - value: 12, - }; - }, - methods: { - onInput: action('input'), - onChange: action('change'), - clickPrepend: action('click:prepend'), - clickAppend: action('click:append'), - }, - template: ` - -`, -}); - -export const appendSlot = () => ({ - data() { - return { - value: 12, - }; - }, - methods: { - onInput: action('input'), - onChange: action('change'), - clickPrepend: action('click:prepend'), - clickAppend: action('click:append'), - }, - template: ` - - - -`, -}); - -export const prependSlot = () => ({ - data() { - return { - value: 12, - }; - }, - methods: { - onInput: action('input'), - onChange: action('change'), - clickPrepend: action('click:prepend'), - clickAppend: action('click:append'), - }, - template: ` - - - -`, -}); - -export const slots = () => ({ - data() { - return { - value: 12, - }; - }, - methods: { - onInput: action('input'), - onChange: action('change'), - clickMinus() { - if ((this as any).value > 5) { - (this as any).value = (this as any).value - 1; - } - }, - clickPlus() { - if ((this as any).value < 15) { - (this as any).value = (this as any).value + 1; - } - }, - }, - template: ` - - - - -`, -}); - -export const thumbLabelSlot = () => ({ - data() { - return { - value: 12, - }; - }, - methods: { - onInput: action('input'), - onChange: action('change'), - }, - template: ` - - - -`, -}); diff --git a/app/src/components/v-switch/readme.md b/app/src/components/v-switch/readme.md deleted file mode 100644 index e837f2e1c1..0000000000 --- a/app/src/components/v-switch/readme.md +++ /dev/null @@ -1,70 +0,0 @@ -# Switch - -## Basic usage - -```html - -``` - -## Colors - -Color changes are done using the css variable `--v-switch-color`. - -```html - - -``` - -## Boolean vs arrays - -Just as with regular checkboxes, you can use `v-model` with both an array and a boolean: - - -```html - - - -``` - -Keep in mind to pass the `value` prop with a unique value when using arrays in `v-model`. - -## Props -| Prop | Description | Default | -|--------------|--------------------------------------------------------------------------------------------------------|-----------------------------------| -| `value` | Value for switch. Similar to value attr on checkbox type input in HTML | `--` | -| `inputValue` | Value that's used with `v-model`. Either boolean or array of values | `false` | -| `label` | Label for the checkbox | `--` | - -## Events -| Event | Description | Data | -|----------|----------------------------|----------------------------| -| `change` | New state for the checkbox | Boolean or array of values | - -## Slots -| Slot | Description | -|---------|------------------------------------------------------------------------------------------------| -| `label` | Allows custom markup and HTML to be rendered inside the label. Will override the `label` prop. | - -## CSS Variables -| Variable | Default | -|--------------------|---------------------------------| -| `--v-switch-color` | `var(--foreground-normal)` | diff --git a/app/src/components/v-switch/v-switch.story.ts b/app/src/components/v-switch/v-switch.story.ts deleted file mode 100644 index 582cc4decf..0000000000 --- a/app/src/components/v-switch/v-switch.story.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { withKnobs, color } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import VSwitch from '../v-switch/'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-switch', VSwitch); - -export default { - title: 'Components / Switch', - component: VSwitch, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const booleanState = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - checked: false, - }; - }, - template: ` -
- -
{{checked}}
-
- `, -}); - -export const arrayState = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - options: ['html', 'css'], - }; - }, - template: ` -
- - - -
{{options}}
-
- `, -}); - -export const disabled = () => - `
`; - -export const colors = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - options: ['red', 'yellow', 'custom'], - }; - }, - props: { - customColor: { - default: color('Custom color', '#4CAF50'), - }, - }, - template: ` -
- - - - -
- `, -}); - -export const htmlLabel = () => ({ - methods: { - onChange: action('change'), - }, - data() { - return { - checked: true, - }; - }, - template: ` - - - - `, -}); diff --git a/app/src/components/v-table/readme.md b/app/src/components/v-table/readme.md deleted file mode 100644 index 80ead93bb6..0000000000 --- a/app/src/components/v-table/readme.md +++ /dev/null @@ -1,151 +0,0 @@ -# Table - -```html - -``` - -## Headers - -| Property | Description | Default | -|------------|--------------------------------------------------------------|---------| -| `text`* | Text displayed in the column | -- | -| `value`* | Name of the object property that holds the value of the item | -- | -| `align` | Text alignment of value. One of `left`, `center`, `right` | `left` | -| `sortable` | If the column can be sorted on | `true` | -| `width` | Custom width of the column in px | -- | - -## Custom element / component for header - -You can override the displayed header name by using the dynamic `header.[name]` slot. `[name]` is the `value` property in the header item for this column sent to `headers`. - -```html - - - -``` - -In this slot, you have access to the `header` through the scoped slot binding. - -## Custom element / component for cell value - -You can override the columns in a row by using the dynamic `item.[name]` slot. `[name]` is the `value` property in the header item for this column sent to `headers`. - -```html - - - -``` - -In this slot, you have access to the `item` through the scoped slot binding. - -## Resizable rows - -Adding the `show-resize` prop allows the user to resize the columns at will. You can keep your headers updated by using the `.sync` modifier or listening to the `update:headers` event: - -```html - - - -``` - -## Props -| Prop | Description | Default | -|--------------------|------------------------------------------------------------------------------------------------|--------------| -| `headers`* | What columns to show in the table. Supports the `.sync` modifier | -- | -| `items`* | The individual items to render as rows | -- | -| `item-key` | Primary key of the item. Used for keys / selections | `id` | -| `sort` | What column / order to sort by. Supports the `.sync` modifier. `{ by: string, desc: boolean }` | -- | -| `show-select` | Show checkboxes | `false` | -| `show-resize` | Show resize handlers | `false` | -| `show-manual-sort` | Show manual sort drag handles | `false` | -| `selection` | What items are selected. Can be used with `v-model` as well | `[]` | -| `fixed-header` | Make the header fixed | `false` | -| `loading` | Show progress indicator | `false` | -| `loading-text` | What text to show when table is loading with no items | `Loading...` | -| `no-items-text` | What text to show when table doesn't contain any rows | `No items` | -| `server-sort` | Handle sorting on the parent level. | `false` | -| `row-height` | Height of the individual rows in px | `48` | -| `must-sort` | Requires the sort to be on a particular column | `false` | -| `disabled` | Disable edits to items in the form (drag/select) | `false` | - -## Events -| Event | Description | Value | -|------------------|------------------------------------------------|---------------------------------| -| `update:sort` | `.sync` event for `sort` prop | `{ by: string, desc: boolean }` | -| `update:headers` | `.sync` event for `headers` prop | `HeaderRaw[]` | -| `item-selected` | Emitted when an item is selected or deselected | `{ item: any, value: boolean }` | -| `select` | Emitted when selected items change | `any[]` | - -## Slots -| Slot | Description | -|------------------|----------------------------------------------------| -| `header.[value]` | Override individual header cells | -| `item.[value]` | Override individual row cells | -| `item-append` | Append content at the end of each row in the table | - -## CSS Variables -| Variable | Default | -|--------------------|---------| -| `--v-table-height` | `auto` | diff --git a/app/src/components/v-table/v-table.story.ts b/app/src/components/v-table/v-table.story.ts deleted file mode 100644 index eb701c5eb7..0000000000 --- a/app/src/components/v-table/v-table.story.ts +++ /dev/null @@ -1,1109 +0,0 @@ -import { withKnobs, number } from '@storybook/addon-knobs'; -import { Sort } from './types'; - -import Vue from 'vue'; -import VTable from './v-table.vue'; -import markdown from './readme.md'; -import { action } from '@storybook/addon-actions'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -import { defineComponent } from '@vue/composition-api'; - -Vue.component('v-table', VTable); - -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Components / Table', - component: VTable, - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const simple = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - }, - ], - items: [ - { - name: 'Amsterdam', - tel: '(020) 333-0987', - }, - { - name: 'Beverly Hills', - tel: '(123) 333-0987', - }, - { - name: 'New Haven', - tel: '(203) 687-9900', - }, - { - name: 'Hong Kong', - tel: '(430) 709-4011', - }, - { - name: 'Ahmedabad', - tel: '(330) 777-3240', - }, - ], - }; - }, - template: ` - - `, -}); - -export const alignment = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - align: 'left', - }, - { - text: 'Phone', - value: 'tel', - align: 'center', - }, - { - text: 'Contact', - value: 'contact', - align: 'right', - }, - ], - items: [ - { - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - template: ` - - `, -}); - -export const customRow = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - }, - { - text: 'Contact', - value: 'contact', - }, - ], - items: [ - { - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - template: ` - - - - `, -}); - -export const customHeader = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - }, - { - text: 'Contact', - value: 'contact', - }, - ], - items: [ - { - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - template: ` - - - - `, -}); - -export const sorting = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - sortable: false, - }, - { - text: 'Contact', - value: 'contact', - }, - ], - items: [ - { - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - sort: { - by: 'name', - desc: false, - }, - }; - }, - template: ` -
- -

Table syncs the sort prop when using \`sync\` modifier:

-
-sort: {{ sort }}
-
-

Defaults to first sortable column that's passed in (\`name\` in this example)

-
- `, -}); - -export const selectable = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - sortable: false, - }, - { - text: 'Contact', - value: 'contact', - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - selection: [], - }; - }, - template: ` -
- -
-selection: {{ selection }}
-		
-
- `, -}); - -export const fixedHeader = () => - defineComponent({ - setup() { - const headers = [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - sortable: false, - }, - { - text: 'Contact', - value: 'contact', - }, - ]; - - const items = [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - { - id: 6, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 7, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 8, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 9, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 10, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - { - id: 11, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 12, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 13, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 14, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 15, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - { - id: 16, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 17, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 18, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 19, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 20, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ]; - - return { headers, items }; - }, - template: ` - - - - `, - }); - -export const loading = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - sortable: false, - }, - { - text: 'Contact', - value: 'contact', - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - template: ` -
- -
- `, -}); - -export const loadingNoRows = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - sortable: false, - }, - { - text: 'Contact', - value: 'contact', - }, - ], - items: [], - }; - }, - template: ` -
- -
- `, -}); - -loadingNoRows.title = 'Loading (No Rows)'; - -export const columnWidths = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - width: 150, - }, - { - text: 'Phone', - value: 'tel', - width: 500, - }, - { - text: 'Contact', - value: 'contact', - width: 250, - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - template: ` -
- -
- `, -}); - -export const resizable = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - width: 150, - }, - { - text: 'Contact', - value: 'contact', - width: 250, - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - template: ` -
- -
-headers: {{ headers }}
-
-
- `, -}); - -export const serverSort = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - width: 150, - }, - { - text: 'Phone', - value: 'tel', - width: 150, - }, - { - text: 'Contact', - value: 'contact', - width: 250, - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - sort: { - by: 'id', - desc: false, - }, - loading: false, - }; - }, - methods: { - onSort(sort: Sort) { - (this as any).loading = true; - - setTimeout(() => { - (this as any).items = [...(this as any).items].sort((a, b) => (a[sort.by!] > b[sort.by!] ? 1 : -1)); - - if (sort.desc === true) { - (this as any).items.reverse(); - } - - (this as any).sort = sort; - (this as any).loading = false; - }, 2000); - }, - }, - template: ` - - `, -}); - -export const dragNDrop = () => ({ - components: { RawValue }, - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - width: 150, - }, - { - text: 'Phone', - value: 'tel', - width: 150, - }, - { - text: 'Contact', - value: 'contact', - width: 250, - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - sort: { - by: '$manual', - desc: false, - }, - }; - }, - methods: { - onDrop: action('drop'), - }, - template: ` -
- - {{ items }} -
- `, -}); - -export const rowClick = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - width: 150, - }, - { - text: 'Phone', - value: 'tel', - width: 150, - }, - { - text: 'Contact', - value: 'contact', - width: 250, - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - methods: { - onClick: action('click:row'), - }, - template: ` -
- -
- `, -}); - -export const rowHeight = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - width: 150, - }, - { - text: 'Phone', - value: 'tel', - width: 150, - }, - { - text: 'Contact', - value: 'contact', - width: 250, - }, - ], - items: [ - { - id: 1, - name: 'Amsterdam', - tel: '(020) 333-0987', - contact: 'Mariann Rumble', - }, - { - id: 2, - name: 'Beverly Hills', - tel: '(123) 333-0987', - contact: 'Kathy Baughan', - }, - { - id: 3, - name: 'New Haven', - tel: '(203) 687-9900', - contact: 'Fleur Tebbet', - }, - { - id: 4, - name: 'Hong Kong', - tel: '(430) 709-4011', - contact: 'Rodolph Tofful', - }, - { - id: 5, - name: 'Ahmedabad', - tel: '(330) 777-3240', - contact: 'Helenka Killely', - }, - ], - }; - }, - props: { - rowHeight: { - default: number('Row height', 48), - }, - }, - template: ` -
- -
- `, -}); - -export const itemAppendSlot = () => ({ - data() { - return { - headers: [ - { - text: 'Name', - value: 'name', - }, - { - text: 'Phone', - value: 'tel', - }, - ], - items: [ - { - name: 'Amsterdam', - tel: '(020) 333-0987', - }, - { - name: 'Beverly Hills', - tel: '(123) 333-0987', - }, - { - name: 'New Haven', - tel: '(203) 687-9900', - }, - { - name: 'Hong Kong', - tel: '(430) 709-4011', - }, - { - name: 'Ahmedabad', - tel: '(330) 777-3240', - }, - ], - }; - }, - template: ` - - - - `, -}); diff --git a/app/src/components/v-tabs/readme.md b/app/src/components/v-tabs/readme.md deleted file mode 100644 index 716c35b13e..0000000000 --- a/app/src/components/v-tabs/readme.md +++ /dev/null @@ -1,55 +0,0 @@ -# Tabs - -Tabs can be used for hiding content behind a selectable item. It can be used as a navigational -device. - -## Usage - -```html - - - -``` - -## Props -| Prop | Description | Default | -|------------|------------------------------------|---------| -| `vertical` | Render the tabs vertically | `false` | -| `value` | v-model value for active selection | -- | - - -## Events -| Event | Description | Value | -|---------|--------------------------|--------------------------------| -| `input` | Update current selection | `readonly (string | number)[]` | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -| Variable | Default | -|----------------------------|---------------------------| -| `--v-tabs-underline-color` | `var(--foreground-normal)` | diff --git a/app/src/components/v-tabs/v-tab-item/readme.md b/app/src/components/v-tabs/v-tab-item/readme.md deleted file mode 100644 index e5319cd4a7..0000000000 --- a/app/src/components/v-tabs/v-tab-item/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# Tab Item - -Individual tab content. To be used in a `v-tabs-items` context. - -## Usage - -```html - - - This is the content for the first tab. - - - This is the content for the second tab. - - -``` - -If you're using a custom value in the `value` prop, make sure the corresponding tab uses the same value to match: - -```html - - Home - Settings - - - - - This is the content for home. - - - Settings content - - -``` - -## Props -| Prop | Description | Default | -|---------|-----------------------------------------|---------| -| `value` | Custom value to use for selection state | -- | - -## Events -n/a - -## Slots -| Slot | Description | Data | -|-----------|------------------|-------------------------------------------| -| _default_ | Tab item content | `{ active: boolean, toggle: () => void }` | - -## CSS Variables -n/a diff --git a/app/src/components/v-tabs/v-tabs-items/readme.md b/app/src/components/v-tabs/v-tabs-items/readme.md deleted file mode 100644 index 8bca6d0268..0000000000 --- a/app/src/components/v-tabs/v-tabs-items/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# Tabs Items - -Tabs Items mirror a tab and display information for a selected tab. -If a tab item is not selected, it automaticly gets hidden. - -## Usage - -```html - - Home Section - News Section - Help Section - -``` - -## Props - -| Prop | Description | Default | -|---------|---------------|---------| -| `value` | v-model value | -- | - -## Events - -| Event | Description | Value | -|---------|-----------------|--------------------------------| -| `input` | Updates v-model | `readonly (string | number)[]` | - -## Slots -| Slot | Description | Data | -|-----------|-------------|------| -| _default_ | | | - -## CSS Variables -n/a diff --git a/app/src/components/v-tabs/v-tabs.story.ts b/app/src/components/v-tabs/v-tabs.story.ts deleted file mode 100644 index df5b1b21e7..0000000000 --- a/app/src/components/v-tabs/v-tabs.story.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { withKnobs, boolean } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import withBackground from '../../../.storybook/decorators/with-background'; - -import VTabs from './v-tabs.vue'; -import VTab from './v-tab/'; -import VTabsItems from './v-tabs-items/'; -import VTabItem from './v-tab-item/'; - -import { defineComponent, ref } from '@vue/composition-api'; - -export default { - title: 'Components / Tabs', - decorators: [withKnobs, withPadding, withBackground], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { VTabs, VTab, VTabsItems, VTabItem }, - props: { - withIcons: { - default: boolean('With Icons', false), - }, - }, - setup() { - const selection = ref([]); - return { selection }; - }, - template: ` -
- - Home - News - Help - Chat - Settings - - - - Home Section - News Section - Help Section - Chat Section - Settings Section - - -
v-model value: {{JSON.stringify(selection)}}
-
- `, - }); - -export const vertical = () => - defineComponent({ - components: { VTabs, VTab }, - props: { - withIcons: { - default: boolean('With Icons', false), - }, - }, - setup() { - const selection = ref([]); - return { selection }; - }, - template: ` -
-
- - Home - News - Help - Chat - Settings - - - - Home Section - News Section - Help Section - Chat Section - Settings Section - -
- -
v-model value: {{JSON.stringify(selection)}}
-
- `, - }); diff --git a/app/src/components/v-textarea/v-textarea.story.ts b/app/src/components/v-textarea/v-textarea.story.ts deleted file mode 100644 index 2c52d9c960..0000000000 --- a/app/src/components/v-textarea/v-textarea.story.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { withKnobs, boolean, text } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import readme from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -Vue.directive('focus', {}); - -export default { - title: 'Components / Textarea', - decorators: [withKnobs, withPadding], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false), - }, - trim: { - default: boolean('Trim', false), - }, - placeholder: { - default: text('Placeholder', 'Enter a longer value.....'), - }, - fullWidth: { - default: boolean('Full Width', false), - }, - expandOnFocus: { - default: boolean('Expand on Focus', false), - }, - }, - setup() { - const value = ref(''); - return { - value, - }; - }, - template: ` -
- - {{ value }} -
- `, - }); - -export const withSlots = () => - defineComponent({ - template: ` - - - - - `, - }); diff --git a/app/src/components/v-upload/readme.md b/app/src/components/v-upload/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/composables/use-scroll-distance/use-scroll-distance.story.ts b/app/src/composables/use-scroll-distance/use-scroll-distance.story.ts deleted file mode 100644 index 5984009f1e..0000000000 --- a/app/src/composables/use-scroll-distance/use-scroll-distance.story.ts +++ /dev/null @@ -1,29 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import useScrollDistance from './use-scroll-distance'; -import Vue from 'vue'; - -export default { - title: 'Composables / Scroll Distance', - decorators: [withPadding], -}; - -export const basic = () => - defineComponent({ - setup() { - const el = ref(null); - const { top, left } = useScrollDistance(el); - return { top, left, el }; - }, - template: ` -
- -
- -
-top: {{ top }}
-left: {{ left }}
-				
-
- `, - }); diff --git a/app/src/directives/click-outside/click-outside.story.ts b/app/src/directives/click-outside/click-outside.story.ts deleted file mode 100644 index e3e3d69516..0000000000 --- a/app/src/directives/click-outside/click-outside.story.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { withKnobs, boolean, object } from '@storybook/addon-knobs'; -import ClickOutside from './click-outside'; -import { defineComponent, ref } from '@vue/composition-api'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -export default { - title: 'Directives / Click Outside', - parameters: { - notes: markdown, - }, - decorators: [withPadding, withKnobs], -}; - -export const basic = () => - defineComponent({ - directives: { - 'click-outside': ClickOutside, - }, - setup() { - const count = ref(0); - return { count }; - }, - template: ` - - You've clicked outside me {{ count }} times. - - `, - }); - -export const withOptions = () => - defineComponent({ - directives: { - 'click-outside': ClickOutside, - }, - props: { - events: { - default: object('Events', ['dblclick']), - }, - disabled: { - default: boolean('Disabled', false), - }, - }, - setup() { - const count = ref(0); - return { count }; - }, - template: ` - - You've {{ events.join(', ') }}'ed outside me {{ count }} times. - - `, - }); - -export const withMiddleware = () => - defineComponent({ - directives: { - 'click-outside': ClickOutside, - }, - setup() { - const count = ref(0); - return { count, middleware }; - - function middleware(event: any) { - return event.target.classList.contains('prevent') === false; - } - }, - template: ` -
- - You've clicked outside me {{ count }} times. - - - - Clicking here doesn't count though - -
- `, - }); diff --git a/app/src/directives/focus/focus.story.ts b/app/src/directives/focus/focus.story.ts deleted file mode 100644 index b7d438f928..0000000000 --- a/app/src/directives/focus/focus.story.ts +++ /dev/null @@ -1,28 +0,0 @@ -import Vue from 'vue'; -import VInput from '../../components/v-input'; -import Focus from './focus'; -import markdown from './readme.md'; -import { defineComponent } from '@vue/composition-api'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-input', VInput); -Vue.directive('focus', Focus); - -export default { - title: 'Directives / Focus', - decorators: [withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withText = () => - defineComponent({ - template: ` -
- - - -
- `, - }); diff --git a/app/src/directives/tooltip/tooltip.story.ts b/app/src/directives/tooltip/tooltip.story.ts deleted file mode 100644 index ec1644203d..0000000000 --- a/app/src/directives/tooltip/tooltip.story.ts +++ /dev/null @@ -1,48 +0,0 @@ -import Vue from 'vue'; -import VButton from '../../components/v-button'; -import VIcon from '../../components/v-icon'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; - -Vue.component('v-button', VButton); -Vue.component('v-icon', VIcon); - -export default { - title: 'Directives / Tooltip', - decorators: [withPadding], - parameters: { - notes: markdown, - }, -}; - -export const withText = () => ({ - template: ` -
-
- Bottom start - Bottom - Bottom end -
-
- Left start - Left - Left end -
-
- Right start - Right - Right end -
-
- Top start - Top - Top end -
- Instant Tooltip - Inverted Tooltip - - - -
- `, -}); diff --git a/app/src/displays/datetime/datetime.story.ts b/app/src/displays/datetime/datetime.story.ts deleted file mode 100644 index d33886654e..0000000000 --- a/app/src/displays/datetime/datetime.story.ts +++ /dev/null @@ -1,35 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, date, select } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent, ref, watch } from '@vue/composition-api'; - -export default { - title: 'Displays / Datetime', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - props: { - value: { - default: date('Value', new Date()), - }, - type: { - default: select('Type', ['date', 'time', 'datetime'], 'datetime'), - }, - }, - setup(props) { - const val = ref(new Date(props.value).toISOString()); - watch( - () => props.value, - () => (val.value = new Date(props.value).toISOString()) - ); - return { val }; - }, - template: ` - - `, - }); diff --git a/app/src/displays/datetime/readme.md b/app/src/displays/datetime/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/displays/filesize/filesize.story.ts b/app/src/displays/filesize/filesize.story.ts deleted file mode 100644 index d6121a6e51..0000000000 --- a/app/src/displays/filesize/filesize.story.ts +++ /dev/null @@ -1,36 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, number } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent, watch, ref } from '@vue/composition-api'; -import DisplayFilesize from './index'; - -export default { - title: 'Displays / Filesize', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - props: { - value: { - default: number('Value', 1024 * 1024), - }, - }, - setup(props) { - const val = ref(props.value); - watch( - () => props.value, - () => { - const handler = DisplayFilesize.handler as Function; - val.value = handler(props.value); - } - ); - return { val }; - }, - template: ` -
{{ val }}
- `, - }); diff --git a/app/src/displays/filesize/readme.md b/app/src/displays/filesize/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/displays/formatted-value/readme.md b/app/src/displays/formatted-value/readme.md deleted file mode 100644 index 8555f3a717..0000000000 --- a/app/src/displays/formatted-value/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Formatted text - -Renders the value with font styling based on it's options. diff --git a/app/src/displays/image/image.story.ts b/app/src/displays/image/image.story.ts deleted file mode 100644 index 3dd8b04f22..0000000000 --- a/app/src/displays/image/image.story.ts +++ /dev/null @@ -1,40 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, boolean } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent } from '@vue/composition-api'; - -export default { - title: 'Displays / Image', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - props: { - circle: { - default: boolean('Circle', false), - }, - }, - setup() { - const image = { - type: 'png', - data: { - thumbnails: [ - { - key: 'system-small-crop', - url: 'https://demo.directus.io/thumper/assets/pnw7s9lqy68048g0?key=system-small-crop', - }, - ], - }, - }; - return { image }; - }, - template: ` -
- -
- `, - }); diff --git a/app/src/displays/image/readme.md b/app/src/displays/image/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/displays/mime-type/mime-type.story.ts b/app/src/displays/mime-type/mime-type.story.ts deleted file mode 100644 index 41f65e98d6..0000000000 --- a/app/src/displays/mime-type/mime-type.story.ts +++ /dev/null @@ -1,36 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, text } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent, ref, watch } from '@vue/composition-api'; -import DisplayMimeType from './index'; - -export default { - title: 'Displays / MimeType', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - props: { - value: { - default: text('Value', 'image/png'), - }, - }, - setup(props) { - const val = ref(props.value); - watch( - () => props.value, - () => { - const handler = DisplayMimeType.handler as Function; - val.value = handler(props.value); - } - ); - return { val }; - }, - template: ` -
{{ val }}
- `, - }); diff --git a/app/src/displays/mime-type/readme.md b/app/src/displays/mime-type/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/displays/rating/rating.story.ts b/app/src/displays/rating/rating.story.ts deleted file mode 100644 index dabc9e47f9..0000000000 --- a/app/src/displays/rating/rating.story.ts +++ /dev/null @@ -1,26 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, number } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent } from '@vue/composition-api'; - -export default { - title: 'Displays / Rating', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - props: { - value: { - default: number('Value', 2, { max: 5, min: 0, step: 1 }), - }, - }, - template: ` -
- -
- `, - }); diff --git a/app/src/displays/rating/readme.md b/app/src/displays/rating/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/displays/user/readme.md b/app/src/displays/user/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/displays/user/user.story.ts b/app/src/displays/user/user.story.ts deleted file mode 100644 index db01066d8c..0000000000 --- a/app/src/displays/user/user.story.ts +++ /dev/null @@ -1,47 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { withKnobs, boolean, select } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent } from '@vue/composition-api'; - -export default { - title: 'Displays / User', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - props: { - circle: { - default: boolean('Circle', false), - }, - display: { - default: select('Display', ['avatar', 'name'], 'avatar'), - }, - }, - setup() { - const user = { - id: 1, - avatar: { - data: { - thumbnails: [ - { - key: 'system-small-crop', - url: 'https://demo.directus.io/thumper/assets/pnw7s9lqy68048g0?key=system-small-crop', - }, - ], - }, - }, - first_name: 'John', - last_name: 'Smith', - }; - return { user }; - }, - template: ` -
- -
- `, - }); diff --git a/app/src/interfaces/_system/display-template/readme.md b/app/src/interfaces/_system/display-template/readme.md deleted file mode 100644 index 8253eced5a..0000000000 --- a/app/src/interfaces/_system/display-template/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Display template - -This is the interface version of the v-field-template component. - -## Options - -| Option | Description | Default | -|---------------|----------------------------------------|---------| -| `*collection` | Fields of collection to use | `null` | diff --git a/app/src/interfaces/checkboxes/checkboxes.story.ts b/app/src/interfaces/checkboxes/checkboxes.story.ts deleted file mode 100644 index 3bcb86bc35..0000000000 --- a/app/src/interfaces/checkboxes/checkboxes.story.ts +++ /dev/null @@ -1,72 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { boolean, withKnobs, text, select, color } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import i18n from '@/lang'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Checkboxes', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - i18n, - props: { - allowOther: { - default: boolean('Allow Other', false), - }, - choices: { - default: text( - 'Choices', - ` -Option A -Option B -custom_value::Option C -trim :: Option D -` - ), - }, - fieldWidth: { - default: select('Field Width', ['half', 'full'], 'full'), - }, - color: { - default: color('Color', '#2f80ed'), - }, - iconOn: { - default: text('Icon (On)', 'check_box'), - }, - iconOff: { - default: text('Icon (Off)', 'check_box_outline_blank'), - }, - disabled: { - default: boolean('Disabled', false), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/checkboxes/readme.md b/app/src/interfaces/checkboxes/readme.md deleted file mode 100644 index b74d7dce53..0000000000 --- a/app/src/interfaces/checkboxes/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Checkboxes - -## Options - -| Option | Description | Default | -|---------------|-----------------------------------------------------|--------------------------| -| `choices` | What choices to render as radios | `null` | -| `allow-other` | Allow the user to enter a custom value | `false` | -| `icon-on` | What icon to show when the radio is checked | `radio_button_checked` | -| `icon-off` | What icon to show when the radio is unchecked | `radio_button_unchecked` | -| `color` | What color to use for the active state of the radio | `var(--primary)` | diff --git a/app/src/interfaces/code/code.story.ts b/app/src/interfaces/code/code.story.ts deleted file mode 100644 index 36403376de..0000000000 --- a/app/src/interfaces/code/code.story.ts +++ /dev/null @@ -1,59 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { boolean, withKnobs, optionsKnob } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import i18n from '@/lang'; -import RawValue from '../../../.storybook/raw-value.vue'; -import CodeMirror from 'codemirror'; -import 'codemirror/mode/meta'; - -const choices = {} as Record; - -CodeMirror.modeInfo.forEach((e) => (e.name === 'JSON' ? (choices[e.name] = 'JSON') : (choices[e.name] = e.mode))); - -export default { - title: 'Interfaces / Code', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - i18n, - props: { - lineNumber: { - default: boolean('Line Number', true), - }, - disabled: { - default: boolean('Disabled', false), - }, - language: { - default: optionsKnob('Language', choices, 'markdown', { - display: 'select', - }), - }, - }, - setup(props) { - const value = ref( - `# This is the editor. -_It starts out in markdown mode_, -**use the control below to load and apply a mode** -"you'll see the highlighting of" this text *change*.` - ); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/code/readme.md b/app/src/interfaces/code/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/interfaces/color/color.story.ts b/app/src/interfaces/color/color.story.ts deleted file mode 100644 index 917546a942..0000000000 --- a/app/src/interfaces/color/color.story.ts +++ /dev/null @@ -1,50 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { withKnobs, array, boolean } from '@storybook/addon-knobs'; -import i18n from '@/lang'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Color', - decorators: [withPadding, withKnobs], -}; - -export const basic = () => - defineComponent({ - i18n, - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false), - }, - presets: { - default: array('Preset Colors', [ - '#EB5757', - '#F2994A', - '#F2C94C', - '#6FCF97', - '#27AE60', - '#56CCF2', - '#2F80ED', - '#9B51E0', - '#BB6BD9', - '#607D8B', - ]), - }, - }, - setup() { - const value = ref(''); - return { value }; - }, - template: ` -
- - - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/datetime/readme.md b/app/src/interfaces/datetime/readme.md deleted file mode 100644 index 289a03a4cb..0000000000 --- a/app/src/interfaces/datetime/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# DateTime interface - diff --git a/app/src/interfaces/divider/divider.story.ts b/app/src/interfaces/divider/divider.story.ts deleted file mode 100644 index 3a1ae97ccd..0000000000 --- a/app/src/interfaces/divider/divider.story.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { withKnobs, text } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import InterfaceDivider from './divider.vue'; - -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent } from '@vue/composition-api'; - -Vue.component('interface-divider', InterfaceDivider); - -export default { - title: 'Interfaces / Divider', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const input = () => - defineComponent({ - props: { - color: { - default: text('Color', '', 'Options'), - }, - icon: { - default: text('Icon', '', 'Options'), - }, - title: { - default: text('Title', '', 'Options'), - }, - }, - template: ` -
- -
- `, - }); diff --git a/app/src/interfaces/divider/readme.md b/app/src/interfaces/divider/readme.md deleted file mode 100644 index d80c3f0333..0000000000 --- a/app/src/interfaces/divider/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Divider - -## Options - -| Prop | Description | Default | -| ---------- | ------------------------------ | ---------------------- | -| `color` | Divider and title color | `var(--border-normal)` | -| `icon` | Icon rendered before the title | `null` | -| `title` | Title for divider | `null` | diff --git a/app/src/interfaces/dropdown-multiselect/dropdown-multiselect.story.ts b/app/src/interfaces/dropdown-multiselect/dropdown-multiselect.story.ts deleted file mode 100644 index 99bbf260ee..0000000000 --- a/app/src/interfaces/dropdown-multiselect/dropdown-multiselect.story.ts +++ /dev/null @@ -1,63 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { boolean, withKnobs, text } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import i18n from '@/lang'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Dropdown (Multiselect)', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - i18n, - props: { - allowOther: { - default: boolean('Allow Other', false), - }, - allowNone: { - default: boolean('Allow None', false), - }, - placeholder: { - default: text('Placeholder', 'Select something'), - }, - choices: { - default: text( - 'Choices', - ` -Option A -Option B -custom_value::Option C -trim :: Option D -` - ), - }, - icon: { - default: text('Icon', 'person'), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/dropdown-multiselect/readme.md b/app/src/interfaces/dropdown-multiselect/readme.md deleted file mode 100644 index fa90b30cfc..0000000000 --- a/app/src/interfaces/dropdown-multiselect/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Dropdown - -Pick one from a list of options. - -## Options - -| Option | Description | Default | -|---------------|----------------------------------------|---------| -| `placeholder` | Text to show when no input is entered | `null` | -| `allow-none` | Allow the user to deselect the value | `false` | -| `allow-other` | Allow the user to enter a custom value | `false` | -| `choices` | What choices to present to the user | `null` | diff --git a/app/src/interfaces/dropdown/dropdown.story.ts b/app/src/interfaces/dropdown/dropdown.story.ts deleted file mode 100644 index 44764e953d..0000000000 --- a/app/src/interfaces/dropdown/dropdown.story.ts +++ /dev/null @@ -1,63 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { boolean, withKnobs, text } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import i18n from '@/lang'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Dropdown', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - i18n, - props: { - allowOther: { - default: boolean('Allow Other', false), - }, - allowNone: { - default: boolean('Allow None', false), - }, - placeholder: { - default: text('Placeholder', 'Select something'), - }, - choices: { - default: text( - 'Choices', - ` -Option A -Option B -custom_value::Option C -trim :: Option D -` - ), - }, - icon: { - default: text('Icon', 'person'), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/dropdown/readme.md b/app/src/interfaces/dropdown/readme.md deleted file mode 100644 index fa90b30cfc..0000000000 --- a/app/src/interfaces/dropdown/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Dropdown - -Pick one from a list of options. - -## Options - -| Option | Description | Default | -|---------------|----------------------------------------|---------| -| `placeholder` | Text to show when no input is entered | `null` | -| `allow-none` | Allow the user to deselect the value | `false` | -| `allow-other` | Allow the user to enter a custom value | `false` | -| `choices` | What choices to present to the user | `null` | diff --git a/app/src/interfaces/hash/hash.story.ts b/app/src/interfaces/hash/hash.story.ts deleted file mode 100644 index 488b6653af..0000000000 --- a/app/src/interfaces/hash/hash.story.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { withKnobs, boolean, text } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Hash', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - placeholder: { - default: text('Placeholder', 'Enter a value...', 'Options'), - }, - masked: { - default: boolean('Masked', false, 'Options'), - }, - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - }, - setup() { - const onInput = action('input'); - const value = ref(null); - return { onInput, value }; - }, - template: ` -
- - {{ value }} - The value will be hashed by the API -
- `, - }); - -export const withExistingValue = () => - defineComponent({ - components: { RawValue }, - props: { - placeholder: { - default: text('Placeholder', 'Enter a value...', 'Options'), - }, - masked: { - default: boolean('Masked', false, 'Options'), - }, - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - }, - setup() { - const onInput = action('input'); - const value = ref('abcdef'); - return { onInput, value }; - }, - template: ` -
- - {{ value }} - The value will be hashed by the API -
- `, - }); diff --git a/app/src/interfaces/hash/readme.md b/app/src/interfaces/hash/readme.md deleted file mode 100644 index 35d38c8ddd..0000000000 --- a/app/src/interfaces/hash/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# Hash - -## Options - -| Option | Description | Default | -| ------------- | ------------------------------------------------------------------- | ------------ | -| `placeholder` | Text to show when no input is entered | `null` | -| `masked` | Mask the value (as in a password field) | `false` | diff --git a/app/src/interfaces/icon/icon.story.ts b/app/src/interfaces/icon/icon.story.ts deleted file mode 100644 index d716bc6e89..0000000000 --- a/app/src/interfaces/icon/icon.story.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { withKnobs, boolean } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import InterfaceIcon from './icon.vue'; -import RawValue from '../../../.storybook/raw-value.vue'; -import { i18n } from '@/lang'; -import VueRouter from 'vue-router'; - -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; - -Vue.component('interface-icon', InterfaceIcon); - -export default { - title: 'Interfaces / Icon', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - i18n, - router: new VueRouter(), - components: { InterfaceIcon, RawValue }, - props: { - disabled: { - default: boolean('disabled', false, 'Options'), - }, - }, - setup() { - const value = ref(''); - return { value }; - }, - template: ` -
- - - {{value}} -
- `, - }); diff --git a/app/src/interfaces/icon/readme.md b/app/src/interfaces/icon/readme.md deleted file mode 100644 index dcf30d1d94..0000000000 --- a/app/src/interfaces/icon/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# Icon Interface - -## Options - -| Option | Description | Default | -| ---------- | ----------- | ------- | -| `disabled` | Disabled | `false` | -| `width` | Width | `half` | diff --git a/app/src/interfaces/many-to-one/readme.md b/app/src/interfaces/many-to-one/readme.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/src/interfaces/markdown/readme.md b/app/src/interfaces/markdown/readme.md deleted file mode 100644 index 063ce0d860..0000000000 --- a/app/src/interfaces/markdown/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Markdown - -## Options - -| Option | Description | Default | -| ------------- | ------------------------------------------------------------------- | ------------ | -| `placeholder` | Text to show when no input is entered | `null` | -| `tabbed` | If the view should be tabbed | `false` | -| `disabled` | Disables the input | `false` | diff --git a/app/src/interfaces/notice/readme.md b/app/src/interfaces/notice/readme.md deleted file mode 100644 index 07541da635..0000000000 --- a/app/src/interfaces/notice/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# Notice - -## Options - -| Prop | Description | Default | -| ---------- | ------------------------------ | ---------------------- | -| `color` | Notice color | `normal` | -| `icon` | Icon rendered before the text | `null` | -| `text` | Text for notice | `null` | diff --git a/app/src/interfaces/numeric/numeric.story.ts b/app/src/interfaces/numeric/numeric.story.ts deleted file mode 100644 index b7d4b2aaff..0000000000 --- a/app/src/interfaces/numeric/numeric.story.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { withKnobs, boolean, text, number, optionsKnob } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import InterfaceNumeric from './numeric.vue'; - -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -Vue.component('interface-numeric', InterfaceNumeric); - -export default { - title: 'Interfaces / Numeric', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const input = () => - defineComponent({ - components: { RawValue }, - props: { - placeholder: { - default: text('Placeholder', 'Enter a value...', 'Options'), - }, - minValue: { - default: number('Min Value', 0, {}, 'Options'), - }, - maxValue: { - default: number('Max Value', 10, {}, 'Options'), - }, - stepInterval: { - default: number('Step Interval', 1, {}, 'Options'), - }, - iconLeft: { - default: text('Icon Left', '', 'Options'), - }, - iconRight: { - default: text('Icon Right', '', 'Options'), - }, - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - font: { - default: optionsKnob( - 'Font', - { Sans: 'sans-serif', Serif: 'serif', Mono: 'monospace' }, - 'sans', - { display: 'select' }, - 'Options' - ), - }, - }, - setup() { - const onInput = action('input'); - const value = ref(null); - return { onInput, value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/numeric/readme.md b/app/src/interfaces/numeric/readme.md deleted file mode 100644 index e72cd3ea81..0000000000 --- a/app/src/interfaces/numeric/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Numeric - -## Options - -| Option | Description | Default | -| -------------- | ---------------------------------- | ------- | -| `disabled` | Disabled | `false` | -| `minValue` | Minimum value | `null` | -| `maxValue` | Maximum value | `null` | -| `stepInterval` | Interval of number steps | `1` | -| `iconLeft` | Icon to the left of the interface | `null` | -| `iconRight` | Icon to the right of the interface | `null` | -| `placeholder` | Placeholder value\* input only | `null` | diff --git a/app/src/interfaces/radio-buttons/radio-buttons.story.ts b/app/src/interfaces/radio-buttons/radio-buttons.story.ts deleted file mode 100644 index 656efeb29f..0000000000 --- a/app/src/interfaces/radio-buttons/radio-buttons.story.ts +++ /dev/null @@ -1,72 +0,0 @@ -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import { boolean, withKnobs, text, select, color } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import i18n from '@/lang'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Radio Buttons', - decorators: [withPadding, withKnobs], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - i18n, - props: { - allowOther: { - default: boolean('Allow Other', false), - }, - choices: { - default: text( - 'Choices', - ` -Option A -Option B -custom_value::Option C -trim :: Option D -` - ), - }, - fieldWidth: { - default: select('Field Width', ['half', 'full'], 'full'), - }, - color: { - default: color('Color', '#2f80ed'), - }, - iconOn: { - default: text('Icon (On)', 'radio_button_checked'), - }, - iconOff: { - default: text('Icon (Off)', 'radio_button_unchecked'), - }, - disabled: { - default: boolean('Disabled', false), - }, - }, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/radio-buttons/readme.md b/app/src/interfaces/radio-buttons/readme.md deleted file mode 100644 index bdd339081a..0000000000 --- a/app/src/interfaces/radio-buttons/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Radio Buttons - -## Options - -| Option | Description | Default | -|---------------|-----------------------------------------------------|--------------------------| -| `choices` | What choices to render as radios | `null` | -| `allow-other` | Allow the user to enter a custom value | `false` | -| `icon-on` | What icon to show when the radio is checked | `radio_button_checked` | -| `icon-off` | What icon to show when the radio is unchecked | `radio_button_unchecked` | -| `color` | What color to use for the active state of the radio | `var(--primary)` | diff --git a/app/src/interfaces/slider/readme.md b/app/src/interfaces/slider/readme.md deleted file mode 100644 index 69da246983..0000000000 --- a/app/src/interfaces/slider/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Slider - -## Options - -| Option | Description | Default | -|----------------|--------------------------|---------| -| `disabled` | Disabled | `false` | -| `minValue` | Minimum value | `null` | -| `maxValue` | Maximum value | `null` | -| `stepInterval` | Interval of number steps | `1` | diff --git a/app/src/interfaces/slider/slider.story.ts b/app/src/interfaces/slider/slider.story.ts deleted file mode 100644 index 13f8f7ac38..0000000000 --- a/app/src/interfaces/slider/slider.story.ts +++ /dev/null @@ -1,48 +0,0 @@ -import RawValue from '../../../.storybook/raw-value.vue'; -import { defineComponent, ref } from '@vue/composition-api'; -import { withKnobs, number, boolean } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import readme from './readme.md'; - -export default { - title: 'Interfaces / Slider', - decorators: [withKnobs, withPadding], - parameters: { - notes: readme, - }, -}; - -export const slider = () => - defineComponent({ - components: { RawValue }, - props: { - minValue: { - default: number('Min Value', 0, {}, 'Options'), - }, - maxValue: { - default: number('Max Value', 10, {}, 'Options'), - }, - stepInterval: { - default: number('Step Interval', 1, {}, 'Options'), - }, - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - }, - setup() { - const onInput = action('input'); - const value = ref(null); - return { onInput, value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/tags/readme.md b/app/src/interfaces/tags/readme.md deleted file mode 100644 index aecae42f54..0000000000 --- a/app/src/interfaces/tags/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# Tags - -## Options - -| Option | Description | Default | -| ------------- | --------------------------------------------------- | ------------- | -| `disabled` | Disabled | `false` | -| `placeholder` | Text to show when no input is entered | `null` | -| `lowercase` | Converts all tags to lowercase | `false` | -| `alphabetize` | Alphabetizes tags, both in display and output | `false` | -| `iconLeft` | Icon to appear on the inside left of the input box | `null` | -| `iconRight` | Icon to appear on the inside right of the input box | `local_offer` | -| `allowCustom` | Allows the user to input their own tags | `true` | -| `presets` | List of preset values users can choose from | `[]` | diff --git a/app/src/interfaces/tags/tags.story.ts b/app/src/interfaces/tags/tags.story.ts deleted file mode 100644 index b0d0972972..0000000000 --- a/app/src/interfaces/tags/tags.story.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { withKnobs, boolean, text, array } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { action } from '@storybook/addon-actions'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; -import i18n from '@/lang'; - -export default { - title: 'Interfaces / Tags', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - i18n, - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - presets: { - default: array('Preset Values', [], ',', 'Options'), - }, - value: { - default: array('Value', [], ',', 'Options'), - }, - allowCustom: { - default: boolean('Allow Custom Values', true, 'Options'), - }, - placeholder: { - default: text('Placeholder', 'Click tags below, or add a new one here...', 'Options'), - }, - lowercase: { - default: boolean('Lowercase', false, 'Options'), - }, - alphabetize: { - default: boolean('Alphabetize', false, 'Options'), - }, - iconLeft: { - default: text('Icon Left', '', 'Options'), - }, - iconRight: { - default: text('Icon Right', 'local_offer', 'Options'), - }, - }, - setup() { - const onInput = action('input'); - return { onInput }; - }, - template: ` -
- - {{ value }} -
- `, - }); - -export const withPresets = () => - defineComponent({ - i18n, - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - presets: { - default: array( - 'Preset Values', - [ - 'Healthy', - 'Mexican', - 'Barbeque', - 'Chinese', - 'International', - 'Sushi', - 'Pizza', - 'Burger', - 'Asian', - 'Fast Food', - ], - ',', - 'Options' - ), - }, - allowCustom: { - default: boolean('Allow Custom Values', true, 'Options'), - }, - placeholder: { - default: text('Placeholder', 'Click tags below, or add a new one here...', 'Options'), - }, - lowercase: { - default: boolean('Lowercase', false, 'Options'), - }, - alphabetize: { - default: boolean('Alphabetize', false, 'Options'), - }, - iconLeft: { - default: text('Icon Left', '', 'Options'), - }, - iconRight: { - default: text('Icon Right', 'local_offer', 'Options'), - }, - }, - setup() { - const onInput = action('input'); - const value = ref(null); - return { onInput, value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/text-input/readme.md b/app/src/interfaces/text-input/readme.md deleted file mode 100644 index f60f9a4438..0000000000 --- a/app/src/interfaces/text-input/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Text Input - -## Options - -| Option | Description | Default | -| ------------- | ------------------------------------------------------------------- | ------------ | -| `readonly` | Readonly | `false` | -| `placeholder` | Text to show when no input is entered | `null` | -| `masked` | Mask the value (as in a password field) | `false` | -| `iconLeft` | Icon to appear on the inside left of the input box | `null` | -| `iconRight` | Icon to appear on the inside right of the input box | `null` | -| `trim` | Trim leading and trailing whitespace | `true` | -| `font` | Font to render the value in (`sans-serif`, `serif`, or `monospace`) | `sans-serif` | diff --git a/app/src/interfaces/text-input/text-input.story.ts b/app/src/interfaces/text-input/text-input.story.ts deleted file mode 100644 index 776e0aa4d5..0000000000 --- a/app/src/interfaces/text-input/text-input.story.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { withKnobs, boolean, text, optionsKnob } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import InterfaceTextInput from './text-input.vue'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -Vue.component('interface-text-input', InterfaceTextInput); - -export default { - title: 'Interfaces / Text Input', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - placeholder: { - default: text('Placeholder', 'Enter a value...', 'Options'), - }, - masked: { - default: boolean('Masked', false, 'Options'), - }, - iconLeft: { - default: text('Icon Left', '', 'Options'), - }, - iconRight: { - default: text('Icon Right', '', 'Options'), - }, - trim: { - default: boolean('Trim', false, 'Options'), - }, - font: { - default: optionsKnob( - 'Font', - { Sans: 'sans-serif', Serif: 'serif', Mono: 'monospace' }, - 'sans', - { display: 'select' }, - 'Options' - ), - }, - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - }, - setup() { - const onInput = action('input'); - const value = ref(null); - return { onInput, value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/textarea/readme.md b/app/src/interfaces/textarea/readme.md deleted file mode 100644 index 84fd1d4d1f..0000000000 --- a/app/src/interfaces/textarea/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Textarea - -## Options - -| Option | Description | Default | -| ------------- | ------------------------------------------------------------------- | ------------ | -| `placeholder` | Text to show when no input is entered | `null` | -| `trim` | Trim leading and trailing whitespace | `true` | -| `font` | Font to render the value in (`sans-serif`, `serif`, or `monospace`) | `sans-serif` | -| `readonly` | Readonly | `false` | diff --git a/app/src/interfaces/textarea/textarea.story.ts b/app/src/interfaces/textarea/textarea.story.ts deleted file mode 100644 index 21847d1e6c..0000000000 --- a/app/src/interfaces/textarea/textarea.story.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { withKnobs, boolean, text, optionsKnob } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import Vue from 'vue'; -import InterfaceTextarea from './textarea.vue'; -import markdown from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -Vue.component('interface-textarea', InterfaceTextarea); - -export default { - title: 'Interfaces / Textarea', - decorators: [withKnobs, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - disabled: { - default: boolean('Disabled', false, 'Options'), - }, - placeholder: { - default: text('Placeholder', 'Enter a value...', 'Options'), - }, - trim: { - default: boolean('Trim', false, 'Options'), - }, - font: { - default: optionsKnob( - 'Font', - { Sans: 'sans-serif', Serif: 'serif', Mono: 'monospace' }, - 'sans', - { display: 'select' }, - 'Options' - ), - }, - }, - setup() { - const value = ref(''); - const onInput = action('input'); - return { onInput, value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/toggle/readme.md b/app/src/interfaces/toggle/readme.md deleted file mode 100644 index fa6fb5bd1a..0000000000 --- a/app/src/interfaces/toggle/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Toggle - -Simple single styled checkbox - -## Options - -| Option | Description | Default | -|------------|----------------------------------------------------|---------------------------| -| `color` | What color to use for the on state of the checkbox | `var(--primary)` | -| `label` | What label to show next to the checkbox | `null` | -| `icon-on` | What icon to show when the checkbox is checked | `check_box` | -| `icon-off` | What icon to show when the checkbox is unchecked | `check_box_outline_blank` | diff --git a/app/src/interfaces/toggle/toggle.story.ts b/app/src/interfaces/toggle/toggle.story.ts deleted file mode 100644 index 8f8c867414..0000000000 --- a/app/src/interfaces/toggle/toggle.story.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { withKnobs, text, color } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / Toggle', - decorators: [withKnobs, withPadding], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - iconOn: { - default: text('Icon (On)', 'check_box'), - }, - iconOff: { - default: text('Icon (Off)', 'check_box_outline_blank'), - }, - label: { - default: text('Label', 'This is the label'), - }, - color: { - default: color('Color', '#2f80ed'), - }, - }, - setup() { - const value = ref(false); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/interfaces/wysiwyg/readme.md b/app/src/interfaces/wysiwyg/readme.md deleted file mode 100644 index 5a94245f93..0000000000 --- a/app/src/interfaces/wysiwyg/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# WYSIWYG - -Rich Text editor based on TineMCE. - -## Options - -| Option | Description | Default | -|---------------------|--------------------------------------------------------------------------------------------------|--------------| -| `toolbar` | What toolbar options to show | _See below_ | -| `custom-formats` | What custom html blocks to show in the editor | `null` | -| `font` | Font to render the value in (`sans-serif`, `serif`, or `monospace`) | `serif` | -| `tinymce-overrides` | Override any of the [init options](https://www.tiny.cloud/docs/configure/integration-and-setup/) | `null` | - -### Toolbar defaults - -``` -bold, -italic, -underline, -removeformat, -link, -bullist, -numlist, -blockquote, -h1, -h2, -h3, -image, -media, -hr, -code, -fullscreen -``` diff --git a/app/src/interfaces/wysiwyg/wysiwyg.story.ts b/app/src/interfaces/wysiwyg/wysiwyg.story.ts deleted file mode 100644 index 9e1262de0a..0000000000 --- a/app/src/interfaces/wysiwyg/wysiwyg.story.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { withKnobs, select } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import withPadding from '../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import RawValue from '../../../.storybook/raw-value.vue'; - -export default { - title: 'Interfaces / WYSIWYG', - decorators: [withKnobs, withPadding], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { RawValue }, - props: { - font: { - default: select('Font', ['sans-serif', 'serif', 'monospace'], 'serif'), - }, - }, - setup() { - const value = ref(false); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/views/private/components/header-bar-actions/header-bar-actions.story.ts b/app/src/views/private/components/header-bar-actions/header-bar-actions.story.ts deleted file mode 100644 index d3a982e547..0000000000 --- a/app/src/views/private/components/header-bar-actions/header-bar-actions.story.ts +++ /dev/null @@ -1,32 +0,0 @@ -import markdown from './readme.md'; -import HeaderBarActions from './header-bar-actions.vue'; -import { defineComponent } from '@vue/composition-api'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; - -export default { - title: 'Views / Private / Components / Header Bar Actions', - decorators: [withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { HeaderBarActions }, - template: ` -
- - - - - - - - - - - -
- `, - }); diff --git a/app/src/views/private/components/header-bar/header-bar.story.ts b/app/src/views/private/components/header-bar/header-bar.story.ts deleted file mode 100644 index a56033793b..0000000000 --- a/app/src/views/private/components/header-bar/header-bar.story.ts +++ /dev/null @@ -1,244 +0,0 @@ -import { withKnobs, text, boolean } from '@storybook/addon-knobs'; -import { action } from '@storybook/addon-actions'; -import markdown from './readme.md'; -import withBackground from '../../../../../.storybook/decorators/with-background'; - -import { defineComponent } from '@vue/composition-api'; -import HeaderBar from './header-bar.vue'; -import VueRouter from 'vue-router'; - -export default { - title: 'Views / Private / Components / Header Bar', - decorators: [withKnobs, withBackground], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { HeaderBar }, - props: { - title: { - default: text('Title', 'Hello World'), - }, - showSidebarToggle: { - default: boolean('Show Sidebar Toggle', false), - }, - dense: { - default: boolean('Dense', false), - }, - }, - setup() { - const navToggle = action('update:nav-open'); - const sidebarToggle = action('update:sidebar-open'); - - return { navToggle, sidebarToggle }; - }, - template: ` - - `, - }); - -export const withBreadcrumb = () => - defineComponent({ - router: new VueRouter(), - components: { HeaderBar }, - props: { - title: { - default: text('Title', 'Hello World'), - }, - showSidebarToggle: { - default: boolean('Show Sidebar Toggle', false), - }, - dense: { - default: boolean('Dense', false), - }, - }, - setup() { - const navToggle = action('update:nav-open'); - const sidebarToggle = action('update:sidebar-open'); - - return { navToggle, sidebarToggle }; - }, - template: ` - - - - `, - }); - -export const withBackButton = () => - defineComponent({ - router: new VueRouter(), - components: { HeaderBar }, - props: { - title: { - default: text('Title', 'Hello World'), - }, - showSidebarToggle: { - default: boolean('Show Sidebar Toggle', false), - }, - dense: { - default: boolean('Dense', false), - }, - }, - setup() { - const navToggle = action('update:nav-open'); - const sidebarToggle = action('update:sidebar-open'); - - return { navToggle, sidebarToggle }; - }, - template: ` - - - - `, - }); - -export const slots = () => { - const SlotLabel = defineComponent({ - template: ``, - }); - - return defineComponent({ - components: { HeaderBar, SlotLabel }, - props: { - title: { - default: text('Title', 'Hello World'), - }, - showSidebarToggle: { - default: boolean('Show Sidebar Toggle', false), - }, - dense: { - default: boolean('Dense', false), - }, - }, - setup() { - const navToggle = action('update:nav-open'); - const sidebarToggle = action('update:sidebar-open'); - - return { navToggle, sidebarToggle }; - }, - template: ` - - - - - - - - - - - `, - }); -}; - -export const withActions = () => - defineComponent({ - components: { HeaderBar }, - props: { - title: { - default: text('Title', 'Hello World'), - }, - showSidebarToggle: { - default: boolean('Show Sidebar Toggle', false), - }, - dense: { - default: boolean('Dense', false), - }, - }, - setup() { - const navToggle = action('update:nav-open'); - const sidebarToggle = action('update:sidebar-open'); - - return { navToggle, sidebarToggle }; - }, - template: ` - - - - `, - }); diff --git a/app/src/views/private/components/module-bar-avatar/module-bar-avatar.story.ts b/app/src/views/private/components/module-bar-avatar/module-bar-avatar.story.ts deleted file mode 100644 index f1f76aa758..0000000000 --- a/app/src/views/private/components/module-bar-avatar/module-bar-avatar.story.ts +++ /dev/null @@ -1,70 +0,0 @@ -import markdown from './readme.md'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import { defineComponent } from '@vue/composition-api'; - -import { useUserStore } from '@/stores/'; -import ModuleBarAvatar from './module-bar-avatar.vue'; -import { i18n } from '@/lang/'; -import VueRouter from 'vue-router'; - -export default { - title: 'Views / Private / Components / Module Bar Avatar', - decorators: [withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - i18n, - router: new VueRouter(), - components: { ModuleBarAvatar }, - setup() { - const req = {}; - const userStore = useUserStore(req); - - userStore.state.currentUser = { - first_name: 'Admin', - last_name: 'User', - avatar: null, - } as any; - }, - template: ` -
- -
- `, - }); - -export const withAvatar = () => - defineComponent({ - i18n, - router: new VueRouter(), - components: { ModuleBarAvatar }, - setup() { - const req = {}; - - const userStore = useUserStore(req); - - userStore.state.currentUser = { - first_name: 'Admin', - last_name: 'User', - avatar: { - data: { - thumbnails: [ - { - key: 'system-small-crop', - url: 'https://randomuser.me/api/portraits/women/44.jpg', - }, - ], - }, - }, - } as any; - }, - template: ` -
- -
- `, - }); diff --git a/app/src/views/private/components/module-bar/module-bar.story.ts b/app/src/views/private/components/module-bar/module-bar.story.ts deleted file mode 100644 index 0c2d57b8f8..0000000000 --- a/app/src/views/private/components/module-bar/module-bar.story.ts +++ /dev/null @@ -1,30 +0,0 @@ -import markdown from './readme.md'; -import ModuleBar from './module-bar.vue'; -import { defineComponent } from '@vue/composition-api'; -import VueRouter from 'vue-router'; - -import { useRequestsStore, useUserStore } from '@/stores/'; -import i18n from '@/lang/'; - -export default { - title: 'Views / Private / Components / Module Bar', - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - i18n, - router: new VueRouter({}), - components: { ModuleBar }, - setup() { - const req = {}; - useRequestsStore(req); - const userStore = useUserStore(req); - userStore.state.currentUser = { id: 1, avatar: null } as any; - }, - template: ` - - `, - }); diff --git a/app/src/views/private/components/notification-item/notification-item.story.ts b/app/src/views/private/components/notification-item/notification-item.story.ts deleted file mode 100644 index 53674f34be..0000000000 --- a/app/src/views/private/components/notification-item/notification-item.story.ts +++ /dev/null @@ -1,99 +0,0 @@ -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import { withKnobs, text, select, boolean } from '@storybook/addon-knobs'; -import readme from './readme.md'; -import { defineComponent } from '@vue/composition-api'; -import { useNotificationsStore } from '@/stores/'; -import NotificationItem from './notification-item.vue'; - -export default { - title: 'Views / Private / Components / Notification Item', - decorators: [withKnobs, withPadding], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { NotificationItem }, - setup() { - useNotificationsStore({}); - }, - template: ` -
- - - - - - - -
- `, - }); - -export const interactive = () => - defineComponent({ - components: { NotificationItem }, - props: { - title: { - default: text('Title', 'This is a notification'), - }, - text: { - default: text('Body text', ''), - }, - icon: { - default: text('Icon', 'box'), - }, - type: { - default: select('Type', ['info', 'success', 'warning', 'error'], 'info'), - }, - persist: { - default: boolean('Persist', false), - }, - dense: { - default: boolean('Dense', false), - }, - tail: { - default: boolean('Tail', false), - }, - }, - template: ` - - `, - }); diff --git a/app/src/views/private/components/notifications-group/notifications-group.story.ts b/app/src/views/private/components/notifications-group/notifications-group.story.ts deleted file mode 100644 index bdbe417252..0000000000 --- a/app/src/views/private/components/notifications-group/notifications-group.story.ts +++ /dev/null @@ -1,61 +0,0 @@ -import readme from './readme.md'; -import { defineComponent } from '@vue/composition-api'; -import { useNotificationsStore } from '@/stores/'; -import { NotificationRaw } from '@/types'; -import NotificationsGroup from './notifications-group.vue'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; - -export default { - title: 'Views / Private / Components / Notifications Group', - decorators: [withPadding], - parameters: { - notes: readme, - }, -}; - -const demoNotifications: NotificationRaw[] = [ - { - title: 'Saved successfully', - icon: 'check', - type: 'success', - }, - { - title: 'Whoops...', - text: 'Something went wrong. Please try again later.', - persist: true, - icon: 'error', - type: 'error', - }, - { - title: 'Multiple users are editing this item', - text: 'Ben Haynes is currently editing this item.', - type: 'warning', - icon: 'warning', - }, - { - title: 'Update available', - text: 'Directus v9 has been released.', - type: 'info', - }, -]; - -export const basic = () => - defineComponent({ - components: { NotificationsGroup }, - setup() { - const notificationsStore = useNotificationsStore(); - - return { add }; - - function add() { - const randomIndex = Math.floor(Math.random() * demoNotifications.length); - notificationsStore.add(demoNotifications[randomIndex]); - } - }, - template: ` -
- Add notification - -
- `, - }); diff --git a/app/src/views/private/components/notifications-preview/notifications-preview.story.ts b/app/src/views/private/components/notifications-preview/notifications-preview.story.ts deleted file mode 100644 index 39456baec9..0000000000 --- a/app/src/views/private/components/notifications-preview/notifications-preview.story.ts +++ /dev/null @@ -1,72 +0,0 @@ -import readme from './readme.md'; -import { defineComponent, ref } from '@vue/composition-api'; -import NotificationsPreview from './notifications-preview.vue'; -import NotificationItem from '../notification-item/'; -import SidebarButton from '../sidebar-button/'; -import { NotificationRaw } from '@/types'; -import { i18n } from '@/lang'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import VueRouter from 'vue-router'; -import { useAppStore, useNotificationsStore } from '@/stores/'; - -export default { - title: 'Views / Private / Components / Notifications Preview', - parameters: { - notes: readme, - }, - decorators: [withPadding], -}; - -const demoNotifications: NotificationRaw[] = [ - { - title: 'Saved successfully', - icon: 'check', - type: 'success', - }, - { - title: 'Whoops...', - text: 'Something went wrong. Please try again later.', - persist: true, - icon: 'error', - type: 'error', - }, - { - title: 'Multiple users are editing this item', - text: 'Ben Haynes is currently editing this item.', - type: 'warning', - icon: 'warning', - }, - { - title: 'Update available', - text: 'Directus v9 has been released.', - type: 'info', - }, -]; - -export const basic = () => - defineComponent({ - i18n, - router: new VueRouter(), - components: { NotificationsPreview, NotificationItem, SidebarButton }, - setup() { - const notificationsStore = useNotificationsStore({}); - const active = ref(false); - - const appStore = useAppStore({}); - appStore.state.sidebarOpen = true; - - return { add, active }; - - function add() { - const randomIndex = Math.floor(Math.random() * demoNotifications.length); - notificationsStore.add(demoNotifications[randomIndex]); - } - }, - template: ` -
- Add notification -
- -
- `, - }); diff --git a/app/src/views/private/components/save-options/save-options.story.ts b/app/src/views/private/components/save-options/save-options.story.ts deleted file mode 100644 index ba84aedc35..0000000000 --- a/app/src/views/private/components/save-options/save-options.story.ts +++ /dev/null @@ -1,10 +0,0 @@ -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import readme from './readme.md'; - -export default { - title: 'Views / Private / Components / Save Options', - parameters: { - notes: readme, - }, - decorators: [withPadding], -}; diff --git a/app/src/views/private/components/search-input/search-input.story.ts b/app/src/views/private/components/search-input/search-input.story.ts deleted file mode 100644 index afeb26eee1..0000000000 --- a/app/src/views/private/components/search-input/search-input.story.ts +++ /dev/null @@ -1,29 +0,0 @@ -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import { defineComponent, ref } from '@vue/composition-api'; -import readme from './readme.md'; -import SearchInput from './search-input.vue'; -import RawValue from '../../../../../.storybook/raw-value.vue'; - -export default { - title: 'Views / Private / Components / Search Input', - decorators: [withPadding], - parameters: { - notes: readme, - }, -}; - -export const basic = () => - defineComponent({ - components: { SearchInput, RawValue }, - props: {}, - setup() { - const value = ref(null); - return { value }; - }, - template: ` -
- - {{ value }} -
- `, - }); diff --git a/app/src/views/private/components/sidebar-button/sidebar-button.story.ts b/app/src/views/private/components/sidebar-button/sidebar-button.story.ts deleted file mode 100644 index a58f701c8f..0000000000 --- a/app/src/views/private/components/sidebar-button/sidebar-button.story.ts +++ /dev/null @@ -1,41 +0,0 @@ -import markdown from './readme.md'; -import { defineComponent, watch } from '@vue/composition-api'; -import { withKnobs, boolean } from '@storybook/addon-knobs'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import withAltColors from '../../../../../.storybook/decorators/with-alt-colors'; -import { useAppStore } from '@/stores'; - -import SidebarButton from './sidebar-button.vue'; - -export default { - title: 'Views / Private / Components / Sidebar Button', - parameters: { - notes: markdown, - }, - decorators: [withKnobs, withAltColors, withPadding], -}; - -export const basic = () => - defineComponent({ - components: { SidebarButton }, - props: { - sidebarOpen: { - default: boolean('Sidebar Open', true), - }, - }, - setup(props) { - const appStore = useAppStore(); - - appStore.state.sidebarOpen = props.sidebarOpen; - - watch( - () => props.sidebarOpen, - (newOpen) => { - appStore.state.sidebarOpen = newOpen; - } - ); - }, - template: ` - Close Sidebar - `, - }); diff --git a/app/src/views/private/components/sidebar-detail-group/sidebar-detail-group.story.ts b/app/src/views/private/components/sidebar-detail-group/sidebar-detail-group.story.ts deleted file mode 100644 index dda3e3485a..0000000000 --- a/app/src/views/private/components/sidebar-detail-group/sidebar-detail-group.story.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { withKnobs } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import withAltColors from '../../../../../.storybook/decorators/with-alt-colors'; - -import { defineComponent } from '@vue/composition-api'; -import SidebarDetailGroup from './sidebar-detail-group.vue'; -import SidebarDetail from '../sidebar-detail'; -import { useAppStore } from '@/stores'; - -export default { - title: 'Views / Private / Components / Sidebar Detail Group', - decorators: [withKnobs, withAltColors, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - components: { SidebarDetailGroup, SidebarDetail }, - setup() { - const appStore = useAppStore({}); - appStore.state.sidebarOpen = false; - }, - template: ` - - - Hi there! - - - These sections can be whatever you want them to be - - - This is a third section in the sidebar - - - These sections can hold any markup: - - - - `, - }); diff --git a/app/src/views/private/components/sidebar-detail/sidebar-detail.story.ts b/app/src/views/private/components/sidebar-detail/sidebar-detail.story.ts deleted file mode 100644 index bb626ffea4..0000000000 --- a/app/src/views/private/components/sidebar-detail/sidebar-detail.story.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { withKnobs, text, boolean } from '@storybook/addon-knobs'; -import markdown from './readme.md'; -import { defineComponent, provide, ref, watch } from '@vue/composition-api'; -import withPadding from '../../../../../.storybook/decorators/with-padding'; -import withAltColors from '../../../../../.storybook/decorators/with-alt-colors'; -import { useAppStore } from '@/stores'; - -export default { - title: 'Views / Private / Components / Sidebar Detail', - decorators: [withKnobs, withAltColors, withPadding], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => - defineComponent({ - props: { - sidebarOpen: { - default: boolean('Sidebar open', true), - }, - icon: { - default: text('Icon', 'person'), - }, - title: { - default: text('Title', 'People'), - }, - }, - setup(props) { - const open = ref(false); - const appStore = useAppStore(); - - appStore.state.sidebarOpen = true; - - watch( - () => props.sidebarOpen, - (newOpen) => (open.value = newOpen) - ); - - provide('item-group', { - register: () => {}, - unregister: () => {}, - toggle: () => {}, - }); - }, - template: ` - - Content - - `, - }); diff --git a/app/src/views/public/public-view.story.ts b/app/src/views/public/public-view.story.ts deleted file mode 100644 index 2740a13719..0000000000 --- a/app/src/views/public/public-view.story.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { withKnobs } from '@storybook/addon-knobs'; -import Vue from 'vue'; -import PublicView from './public-view.vue'; -import markdown from './readme.md'; - -Vue.component('public-view', PublicView); - -export default { - title: 'Views / Public', - component: PublicView, - decorators: [withKnobs], - parameters: { - notes: markdown, - }, -}; - -export const basic = () => ` - -

Directus

- Hello from the default slot! -
`; diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index af317485fb..b133be96ff 100755 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -335,6 +335,327 @@ module.exports = { path: '/reference/sdk-js', title: 'JavaScript SDK', }, + { + title: 'Vue Components', + type: 'group', + children: [ + { + path: 'reference/app/components/', + title: 'Introduction', + type: 'page', + }, + { + path: 'reference/app/components/v-avatar', + title: 'Avatar', + type: 'page', + }, + { + path: 'reference/app/components/v-badge', + title: 'Badge', + type: 'page', + }, + { + path: 'reference/app/components/v-breadcrumb', + title: 'Breadcrumb', + type: 'page', + }, + { + path: 'reference/app/components/v-button-group', + title: 'Button Group', + type: 'page', + }, + { + path: 'reference/app/components/v-button', + title: 'Button', + type: 'page', + }, + { + title: 'Card', + children: [ + { + path: 'reference/app/components/v-card', + title: 'Card', + type: 'page', + }, + { + path: 'reference/app/components/v-card-actions', + title: 'Card Actions', + type: 'page', + }, + { + path: 'reference/app/components/v-card-subtitle', + title: 'Card Subtitle', + type: 'page', + }, + { + path: 'reference/app/components/v-card-text', + title: 'Card Text', + type: 'page', + }, + { + path: 'reference/app/components/v-card-title', + title: 'Card Title', + type: 'page', + }, + ], + }, + { + path: 'reference/app/components/v-checkbox', + title: 'Checkbox', + type: 'page', + }, + { + path: 'reference/app/components/v-chip', + title: 'Chip', + type: 'page', + }, + { + path: 'reference/app/components/v-detail', + title: 'Detail', + type: 'page', + }, + { + path: 'reference/app/components/v-dialog', + title: 'Dialog', + type: 'page', + }, + { + path: 'reference/app/components/v-divider', + title: 'Divider', + type: 'page', + }, + { + path: 'reference/app/components/v-drawer', + title: 'Drawer', + type: 'page', + }, + { + path: 'reference/app/components/v-error', + title: 'Error', + type: 'page', + }, + { + path: 'reference/app/components/v-fancy-select', + title: 'Fancy Select', + type: 'page', + }, + { + path: 'reference/app/components/v-field-select', + title: 'Field Select', + type: 'page', + }, + { + path: 'reference/app/components/v-field-template', + title: 'Field Template', + type: 'page', + }, + { + path: 'reference/app/components/v-form', + title: 'Form', + type: 'page', + }, + { + path: 'reference/app/components/v-hover', + title: 'Hover', + type: 'page', + }, + { + path: 'reference/app/components/v-icon', + title: 'Icon', + type: 'page', + }, + { + path: 'reference/app/components/v-info', + title: 'Info', + type: 'page', + }, + { + path: 'reference/app/components/v-input', + title: 'Input', + type: 'page', + }, + { + title: 'ItemGroup', + children: [ + { + path: 'reference/app/components/v-item-group', + title: 'Item Group', + type: 'page', + }, + { + path: 'reference/app/components/v-item', + title: 'Item', + type: 'page', + }, + ], + }, + { + title: 'List', + children: [ + { + path: 'reference/app/components/v-list-group', + title: 'List Group', + type: 'page', + }, + { + path: 'reference/app/components/v-list-item-content', + title: 'List Item Content', + type: 'page', + }, + { + path: 'reference/app/components/v-list-item-hint', + title: 'List Item Hint', + type: 'page', + }, + { + path: 'reference/app/components/v-list-item-icon', + title: 'List Item Icon', + type: 'page', + }, + { + path: 'reference/app/components/v-list-item', + title: 'List Item', + type: 'page', + }, + { + path: 'reference/app/components/v-list', + title: 'List', + type: 'page', + }, + ], + }, + { + path: 'reference/app/components/v-menu', + title: 'Menu', + type: 'page', + }, + { + path: 'reference/app/components/v-notice', + title: 'Notice', + type: 'page', + }, + { + path: 'reference/app/components/v-overlay', + title: 'Overlay', + type: 'page', + }, + { + path: 'reference/app/components/v-pagination', + title: 'Pagination', + type: 'page', + }, + { + title: 'Progress', + children: [ + { + path: 'reference/app/components/v-progress-circular', + title: 'Progress Circular', + type: 'page', + }, + { + path: 'reference/app/components/v-progress-linear', + title: 'Progress Linear', + type: 'page', + }, + ], + }, + { + path: 'reference/app/components/v-radio', + title: 'Radio', + type: 'page', + }, + { + path: 'reference/app/components/v-select', + title: 'Select', + type: 'page', + }, + { + path: 'reference/app/components/v-sheet', + title: 'Sheet', + type: 'page', + }, + { + path: 'reference/app/components/v-skeleton-loader', + title: 'Skeleton Loader', + type: 'page', + }, + { + path: 'reference/app/components/v-slider', + title: 'Slider', + type: 'page', + }, + { + path: 'reference/app/components/v-switch', + title: 'Switch', + type: 'page', + }, + { + path: 'reference/app/components/v-table', + title: 'Table', + type: 'page', + }, + { + title: 'Tabs', + children: [ + { + path: 'reference/app/components/v-tabs', + title: 'Tabs', + type: 'page', + }, + { + path: 'reference/app/components/v-tab', + title: 'Tab', + type: 'page', + }, + { + path: 'reference/app/components/v-tabs-items', + title: 'Tabs Items', + type: 'page', + }, + { + path: 'reference/app/components/v-tab-item', + title: 'Tab Item', + type: 'page', + }, + ], + }, + { + path: 'reference/app/components/v-text-overflow', + title: 'Text Overflow', + type: 'page', + }, + { + path: 'reference/app/components/v-textarea', + title: 'Textarea', + type: 'page', + }, + { + title: 'Transitions', + children: [ + { + path: 'reference/app/components/transition-bounce', + title: 'Transition Bounce', + type: 'page', + }, + { + path: 'reference/app/components/transition-dialog', + title: 'Transition Dialog', + type: 'page', + }, + { + path: 'reference/app/components/transition-expand', + title: 'Transition Expand', + type: 'page', + }, + ], + }, + { + path: 'reference/app/components/v-upload', + title: 'Upload', + type: 'page', + }, + ], + }, ], }, { diff --git a/docs/reference/app/app.md b/docs/reference/app/app.md new file mode 100644 index 0000000000..f361754dd4 --- /dev/null +++ b/docs/reference/app/app.md @@ -0,0 +1,25 @@ +# App Reference + +The purpose of the app reference is to allow more and easier access to our internal components when developing custom +interfaces, displays or modules. + +## App Structure + +The Vue frontend app is structured into many departments to combine similar purpose components. + +| Folder | Content | Example | +| ------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `components` | In here are our base components that are designed to be as general and everywhere fitting as possible | It contains `v-button` | +| `composables` | Composables are reusable pieces of logic that can be used inside Vue component | `use-shortcut` to easily react to button combinations pressed | +| `directives` | Directives are functions that are available on Vue components in templates | contains `v-focus` or `v-tooltip` | +| `displays` | Displays are functions / components that are used in the system to display data | `display-image` is used to display image data inside the app | +| `interfaces` | Interfaces are the individual blocks that allow editing and viewing individual pieces of data | `interface-color` is a color picker allowing for easy selection of any color | +| `lang` | Containing all translations used across the directus app | Contains translations like `en-US` | +| `layouts` | Layouts change the way items are represented inside the collection view | The card and tabular layout are inside here | +| `modules` | Modules organize in which major parts the app is structured | Here are the files or settings module which are always visible from the sidebar | +| `routes` | Basic routes the app needs that shouldn't be customized | Routes for authentication or password reset | +| `stores` | Here lay all stores used in the app containing all relevant data that gets fetched from the api | The `fields` store containing all accessible fields for the user | +| `styles` | All general styles, css-vars, mixins and themes are stored inside here | The `form-grid` mixin allowing to style form like grids | +| `types` | Contains types used to generalize data for typescript | `field-schema` which is used to model the schema of fields | +| `utils` | Utility functions that helps minimize repetition | `notify` which is used to easily generate notifications inside the app | +| `views` | Views are the top-level parent component that are used in all modules | `private-view` which renders the basic structure like sidebar, headers and content sections | diff --git a/docs/reference/app/components/index.md b/docs/reference/app/components/index.md new file mode 100644 index 0000000000..38730ec7a5 --- /dev/null +++ b/docs/reference/app/components/index.md @@ -0,0 +1,16 @@ +# Directus Vue Components + +Directus comes shipped with it's own Vue component library you can use to enrich your extensions, while making them fit +within the context of the Directus app. + +These components can be used in any of the "front-end extensions", including [Interfaces](/guides/interfaces/), +[Displays](/guides/displays/), and [Modules](/guides/modules/). + +::: warning Breaking Changes + +While we aim to make the components as backwards compatible as possible, we **do not** consider internal-API changes in +the components as a breaking change of Directus. Please keep an eye +[the release notes](https://github.com/directus/directus/releases), and make sure your extension still works before +updating Directus. + +::: diff --git a/docs/reference/app/components/transition-bounce.md b/docs/reference/app/components/transition-bounce.md new file mode 100644 index 0000000000..db995e1ffb --- /dev/null +++ b/docs/reference/app/components/transition-bounce.md @@ -0,0 +1,39 @@ +# Transition Bounce + +Bounces items in or out depending if the get added or removed from the view. + +```html + + + +``` + +## Reference + +#### Slots + +| Slot | Description | Data | +| --------- | -------------------------------------------- | ---- | +| _default_ | The elements that should get animated in/out | | diff --git a/docs/reference/app/components/transition-dialog.md b/docs/reference/app/components/transition-dialog.md new file mode 100644 index 0000000000..9d13693107 --- /dev/null +++ b/docs/reference/app/components/transition-dialog.md @@ -0,0 +1,39 @@ +# Transition Dialog + +Fades items in or out depending if the get added or removed from the view. + +```html + + + +``` + +## Reference + +#### Slots + +| Slot | Description | Data | +| --------- | -------------------------------------------- | ---- | +| _default_ | The elements that should get animated in/out | | diff --git a/docs/reference/app/components/transition-expand.md b/docs/reference/app/components/transition-expand.md new file mode 100644 index 0000000000..d20a26fb67 --- /dev/null +++ b/docs/reference/app/components/transition-expand.md @@ -0,0 +1,54 @@ +# Transition Expand + +Use around a `v-if` or `v-show` component to have it expand in and out of view. + +```html + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ----------------------- | -------------------------------------------------- | ------- | --------- | +| `x-axis` | Expand on the horizontal instead vertical axis | `false` | `Boolean` | +| `expanded-parent-class` | Add a custom class to the element that is expanded | `''` | `String` | + +#### Slots + +| Slot | Description | Data | +| --------- | ---------------------------------------- | ---- | +| _default_ | Elements that should be animated go here | | + +#### Events + +n/a + +#### CSS Variables + +n/a diff --git a/docs/reference/app/components/v-avatar.md b/docs/reference/app/components/v-avatar.md new file mode 100644 index 0000000000..af179276f5 --- /dev/null +++ b/docs/reference/app/components/v-avatar.md @@ -0,0 +1,42 @@ +# Avatar + +The avatar component can be used to display a person or something similar. It will generate a grey box in which either a +profile picture or an icon or text can be inserted. + +```html +RVZ + + + + + + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------ | ------------------------- | ------- | --------- | +| `size` | Size in px | `null` | `Number` | +| `tile` | Render as a tile (square) | `false` | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| --------- | ------------------------------------------------------- | ---- | +| _default_ | Default slot to display your elements inside the avatar | -- | + +#### Events + +n/a + +###### CSS Variables + +| Variable | Default | +| ------------------ | -------------------------- | +| `--v-avatar-color` | `var(--background-normal)` | +| `--v-avatar-size` | `48px` | diff --git a/docs/reference/app/components/v-badge.md b/docs/reference/app/components/v-badge.md new file mode 100644 index 0000000000..6eabd31e16 --- /dev/null +++ b/docs/reference/app/components/v-badge.md @@ -0,0 +1,49 @@ +# Badge + +Display a small dot in the corner of the component. + +```html +ABC +``` + +## Colors + +You can set the color, background color and boder color with the `--v-badge-color`, `--v-badge-background-color` and +`--v-badge-border-color` css vars respectively: + +```html + + ABC + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ---------------------------------------------------------------------------- | ------- | ------------------ | +| `value` | The value that will be displayed inside the badge Only 2 characters allowed) | `null` | `[String, Number]` | +| `dot` | Only will show a small dot without any content | `false` | `Boolean` | +| `bordered` | Shows a border arround the badge | `false` | `Boolean` | +| `left` | Aligns the badge on the left side | `false` | `Boolean` | +| `bottom` | Aligns the badge on the bottom side | `false` | `Boolean` | +| `icon` | Shows an icon instead of text | `null` | `String` | +| `disabled` | Don't render the badge | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| ---------------------------- | ------------------------ | +| `--v-badge-color` | `var(--white)` | +| `--v-badge-background-color` | `var(--danger)` | +| `--v-badge-border-color` | `var(--background-page)` | +| `--v-badge-offset-x` | `0px` | +| `--v-badge-offset-y` | `0px` | +| `--v-badge-size` | `16px` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-breadcrumb.md b/docs/reference/app/components/v-breadcrumb.md new file mode 100644 index 0000000000..ce62bff731 --- /dev/null +++ b/docs/reference/app/components/v-breadcrumb.md @@ -0,0 +1,31 @@ +# Breadcrumb + +A breadcrumb can help you display on what site you are currently on by displaying a structure like `my / custom / page`. + +```html + +``` + +## Breadcrumb Item + +An item for the items prop has these 4 options: | Prop | Description | +|------------|-----------------------------------------------------------| | `to` | The reroute link | | `name` | The +name which will be displayed | | `icon` | Displays an icon with the given name in front of the name | | `disabled` | If +the router link should be clickable | + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------- | -------------------------------------------------------- | ---------- | -------------- | +| `items` | An array of objects which information about each section | `() => []` | `Breadcrumb[]` | + +#### CSS Variables + +| Variable | Default | +| ------------------------------- | --------------------------- | +| `--v-breadcrumb-color` | `var(--foreground-subdued)` | +| `--v-breadcrumb-color-hover` | `var(--foreground-normal)` | +| `--v-breadcrumb-color-disabled` | `var(--foreground-subdued)` | +| `--v-breadcrumb-divider-color` | `var(--foreground-subdued)` | diff --git a/docs/reference/app/components/v-button-group.md b/docs/reference/app/components/v-button-group.md new file mode 100644 index 0000000000..5b336538ab --- /dev/null +++ b/docs/reference/app/components/v-button-group.md @@ -0,0 +1,56 @@ +# Button Group + +Provides the ability to make groups of buttons. Uses the v-item-group component and adds styling to the buttons. For +more information about how to use groups, look into v-item-group. + +## Usage + +```html + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ----------- | ------------------------------------------------------- | ----------- | ---------------------- | +| `mandatory` | Require an item to be selected | `false` | `Boolean` | +| `max` | Only allow a maximum of n items | `-1` | `Number` | +| `multiple` | Allow multiple items to be selected | `false` | `Boolean` | +| `value` | The v-model value. Selection of indexes / custom values | `undefined` | `(string or number)[]` | +| `rounded` | Adds rounded corners to the sides | `false` | `Boolean` | +| `tile` | Adds sharp corners to the sides | `false` | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | -- | + +#### Events + +| Event | Description | Value | +| ------- | -------------------------------- | ---------------------- | +| `input` | Used to update the v-model value | `(string or number)[]` | + +#### CSS Variables + +| Variable | Default | +| ------------------------------------------ | -------------------- | +| `--v-button-group-background-color-active` | `var(--primary-alt)` | diff --git a/docs/reference/app/components/v-button.md b/docs/reference/app/components/v-button.md new file mode 100644 index 0000000000..bb09051f0f --- /dev/null +++ b/docs/reference/app/components/v-button.md @@ -0,0 +1,108 @@ +# Button + +A simple button component to make your life interactive! + +```html +Click me! +``` + +## Sizes + +The button component supports the following sizes through the use of props: + +- x-small +- small +- (default) +- large +- x-large + +## Colors + +You can set the color, background color, hover color, and background hover color with the `--v-button-color`, +`--v-button-background-color`, `--v-button-color-hover`, and `--v-button-background-color-hover` css variables +respectively: + +```html +Click me + + +``` + +## Loading + +The button has a loading state that can be enabled with the `loading` prop. By default, the button will render a +`v-spinner`. You can override what's being shown during the loading state by using the `#loading` slot: + +```html + + + +``` + +The loading slot is rendered _on top_ of the content that was there before. Make sure that your loading content doesn't +exceed the size of the default state content. This restriction is put in place to prevent jumps when going from and to +the loading state. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------ | ------------------------------------------------------------------------- | ---------- | -------------------- | +| `icon` | Remove padding / min-width. Meant to be used with just an icon as content | `false` | `Boolean` | +| `outlined` | No background | `false` | `Boolean` | +| `rounded` | Enable rounded corners | `false` | `Boolean` | +| `type` | HTML `type` attribute | `'button'` | `String` | +| `disabled` | Disabled state | `false` | `Boolean` | +| `loading` | Loading state | `false` | `Boolean` | +| `to` | Render as vue router-link | `null` | `string or Location` | +| `href` | Render as anchor | `null` | `String` | +| `align` | Align content in button. One of `left | `'center'` | `String` | +| `dashed` | Render the border dashed. Meant to be used with `outlined`. | `false` | `Boolean` | +| `tile` | Render without border radius | `false` | `Boolean` | +| `download` | Add the `download` attribute (used in combo with `href`) | `null` | `String` | +| `full-width` | | `false` | `Boolean` | +| `exact` | | `false` | `Boolean` | +| `secondary` | | `false` | `Boolean` | +| `value` | | `null` | `[Number, String]` | + +#### Slots + +| Slot | Description | Data | +| --------------- | -------------------------------------------- | ---- | +| _default_ | Button content | | +| `loading` | Content that's rendered during loading state | | +| `prepend-outer` | Content that's rendered before the button | | +| `append-outer` | Content that's rendered after the button | | + +#### Events + +| Event | Description | Value | +| ------- | --------------------- | ------------ | +| `click` | User clicks on button | `MouseEvent` | + +#### CSS Variables + +| Variable | Default | +| --------------------------------------- | ---------------------------- | +| `--v-button-width` | `auto` | +| `--v-button-height` | `44px` | +| `--v-button-color` | `var(--foreground-inverted)` | +| `--v-button-color-hover` | `var(--foreground-inverted)` | +| `--v-button-color-activated` | `var(--foreground-inverted)` | +| `--v-button-color-disabled` | `var(--foreground-subdued)` | +| `--v-button-background-color` | `var(--primary)` | +| `--v-button-background-color-hover` | `var(--primary-125)` | +| `--v-button-background-color-activated` | `var(--primary)` | +| `--v-button-background-color-disabled` | `var(--background-normal)` | +| `--v-button-font-size` | `16px` | +| `--v-button-font-weight` | `600` | +| `--v-button-line-height` | `22px` | +| `--v-button-min-width` | `140px` | diff --git a/docs/reference/app/components/v-card-actions.md b/docs/reference/app/components/v-card-actions.md new file mode 100644 index 0000000000..d39b6dd3db --- /dev/null +++ b/docs/reference/app/components/v-card-actions.md @@ -0,0 +1,21 @@ +# Card Actions + +This component is used to add actions like `cancel` or `save` to an existing `v-card`. + +```html + + Would you like to save the changes? + + Cancel + Save + + +``` + +## Reference + +#### Slots + +| Slot | Description | Data | +| --------- | ----------------------------- | ---- | +| _default_ | Where all the actions will go | | diff --git a/docs/reference/app/components/v-card-subtitle.md b/docs/reference/app/components/v-card-subtitle.md new file mode 100644 index 0000000000..8487e24af7 --- /dev/null +++ b/docs/reference/app/components/v-card-subtitle.md @@ -0,0 +1,17 @@ +# Card Subtitle + +This component is used to give a `v-card` an already stylized subtitle. + +```html + + A less important subtitle + +``` + +## Reference + +#### Slots + +| Slot | Description | Data | +| --------- | -------------------------- | ---- | +| _default_ | Where the subtitle will go | | diff --git a/docs/reference/app/components/v-card-text.md b/docs/reference/app/components/v-card-text.md new file mode 100644 index 0000000000..1a1a07c799 --- /dev/null +++ b/docs/reference/app/components/v-card-text.md @@ -0,0 +1,17 @@ +# Card Text + +This component is used to give a `v-card` an already stylized text. + +```html + + This card can do nothing! + +``` + +## Reference + +#### Slots + +| Slot | Description | Data | +| --------- | ----------------------- | ---- | +| _default_ | Where your text will go | | diff --git a/docs/reference/app/components/v-card-title.md b/docs/reference/app/components/v-card-title.md new file mode 100644 index 0000000000..4155933c7e --- /dev/null +++ b/docs/reference/app/components/v-card-title.md @@ -0,0 +1,17 @@ +# Card Title + +This component is used to give a `v-card` an already stylized title. + +```html + + My Own Title + +``` + +## Reference + +#### Slots + +| Slot | Description | Data | +| --------- | ----------------------- | ---- | +| _default_ | Where the title will go | | diff --git a/docs/reference/app/components/v-card.md b/docs/reference/app/components/v-card.md new file mode 100644 index 0000000000..8e353b6894 --- /dev/null +++ b/docs/reference/app/components/v-card.md @@ -0,0 +1,77 @@ +# Card + +A card is nothing but a v-sheet with predefined building blocks to enforce consistency. + +## Usage + +```html + + Hello, world! + This is a card + Consectetur enim ullamco sint sit deserunt proident consectetur. + + Save + + +``` + +Cards can be used to consistently style dialogs: + +```html + + + + + Are you sure you want to delete 1 item? + + Cancel + Yes + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ------------------------------------------------- | ------- | --------- | +| `disabled` | Disable the card, prevents all cursor interaction | `false` | `Boolean` | +| `tile` | Render without rounded corners | `false` | `Boolean` | + +#### Events + +n/a + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | + +#### CSS Variables + +| Variable | Default | +| --------------------------- | --------------------------- | +| `--v-card-min-width` | `none` | +| `--v-card-max-width` | `400px` | +| `--v-card-min-height` | `none` | +| `--v-card-max-height` | `min-content` | +| `--v-card-padding` | `16px` | +| `--v-card-background-color` | `var(--background-subdued)` | +| `--v-card-height` | `auto` | + +--- + +# Card Title + +Functional component that enforces consistent styling. + +## Usage + +```html +Hello, world! +``` diff --git a/docs/reference/app/components/v-checkbox.md b/docs/reference/app/components/v-checkbox.md new file mode 100644 index 0000000000..5a8948a814 --- /dev/null +++ b/docs/reference/app/components/v-checkbox.md @@ -0,0 +1,133 @@ +# Checkbox + +Display a single checkbox on which you can model a boolean. + +```html + +``` + +## Colors + +The colors can be changed via the css variables `--v-checkbox-color`. + +```html + + + + + + +``` + +## Boolean vs arrays + +Just as with checkboxes, you can use `v-model` with both an array and a boolean: + +```html + + + +``` + +Keep in mind to pass the `value` prop with a unique value when using arrays in `v-model`. + +## Indeterminate + +The indeterminate state can be set with the `indeterminate` prop. We recommend using the `.sync` modifier with the +indeterminate prop, so the checkbox can set change it too: + +```html + + + +``` + +If you can't, you should listen to the `update:indeterminate` event and respond to that: + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------------------- | ------------------------------------------------------------------------ | --------------------------- | ------------------ | +| `value` | Value for checkbox. Similar to value attr on checkbox type input in HTML | `null` | `String` | +| `input-value` | Value that's used with `v-model`. Either boolean or array of values | `false` | `[Boolean, Array]` | +| `label` | | `null` | `String` | +| `disabled` | | `false` | `Boolean` | +| `indeterminate` | | `false` | `Boolean` | +| `icon-on` | | `'check_box'` | `String` | +| `icon-off` | | `'check_box_outline_blank'` | `String` | +| `icon-indeterminate` | | `'indeterminate_check_box'` | `String` | +| `block` | | `false` | `Boolean` | +| `custom-value` | | `false` | `Boolean` | +| `label` | Label for the checkbox | `null` | `String` | +| `disabled` | Disable the checkbox | `false` | `Boolean` | +| `indeterminate` | Show the indeterminate state | `false` | `Boolean` | +| `icon-on` | What icon to use for the on state | `'check_box'` | `String` | +| `icon-off` | What icon to use for the off state | `'check_box_outline_blank'` | `String` | +| `icon-indeterminate` | What icon to use for the indeterminate state | `'indeterminate_check_box'` | `String` | +| `block` | Show as styled block. Matches input size | `false` | `Boolean` | +| `input-value` | | `false` | `[Boolean, Array]` | +| `custom-value` | | `false` | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| --------- | ---------------------------------- | ---- | +| `prepend` | Rendered right before the checkbox | | +| `append` | Rendered right after the label | | +| _default_ | | | + +#### Events + +| Event | Description | Value | +| ---------------------- | -------------------------- | -------------------------- | +| `change` | New state for the checkbox | Boolean or array of values | +| `update:indeterminate` | New state for the checkbox | Boolean or array of values | + +#### CSS Variables + +| Variable | Default | +| -------------------- | ---------------- | +| `--v-checkbox-color` | `var(--primary)` | diff --git a/docs/reference/app/components/v-chip.md b/docs/reference/app/components/v-chip.md new file mode 100644 index 0000000000..10082d4f7d --- /dev/null +++ b/docs/reference/app/components/v-chip.md @@ -0,0 +1,91 @@ +# Chip + +Chips are small round components that can be used to display tags or similar data. + +```html +I'm a chip! +``` + +## Sizes + +The chip component supports the following sizes through the use of props: + +- x-small +- small +- (default) +- large +- x-large + +```html +I'm a chip! +``` + +## Colors + +You can set the color, background color, hover color, and background hover color with the `--v-chip-color`, +`--v-chip-background-color`, `--v-chip-color-hover`, and `--v-chip-background-color-hover` css variables respectively: + +```html +I'm a chip! + +``` + +## Clicks / Closes + +There are two events, one when clicking on the chip called `click` and one when clicking on the enabled close icon +called `close`. + +```html +Hello! +I'm closeable! +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------ | ---------------------------------------------------- | --------- | --------- | +| `active` | Change visibility. Can be reacted to via `sync` | `null` | `Boolean` | +| `close` | Displays a close icon which triggers the close event | `false` | `Boolean` | +| `close-icon` | Which icon should be displayed instead of `close ` | `'close'` | `String` | +| `outlined` | | `false` | `Boolean` | +| `label` | | `true` | `Boolean` | +| `disabled` | | `false` | `Boolean` | +| `outlined` | No background | `false` | `Boolean` | +| `label` | Label style | `true` | `Boolean` | +| `disabled` | Disabled state | `false` | `Boolean` | +| `close-icon` | | `'close'` | `String` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | -- | + +#### Events + +| Event | Description | Value | +| --------------- | ---------------------------------------------------------------------------------------------- | ----- | +| `click` | Triggers when clicked somewhere on the chip | | +| `close` | Triggers when the `close` prop is enabled and gets clicked (Doesn't trigger the `click` event) | | +| `update:active` | | | + +#### CSS Variables + +| Variable | Default | +| --------------------------------- | ------------------------------ | +| `--v-chip-color` | `var(--foreground-normal)` | +| `--v-chip-background-color` | `var(--background-normal-alt)` | +| `--v-chip-color-hover` | `var(--white)` | +| `--v-chip-background-color-hover` | `var(--primary-125)` | +| `--v-chip-close-color` | `var(--danger)` | +| `--v-chip-close-color-disabled` | `var(--primary)` | +| `--v-chip-close-color-hover` | `var(--primary-125)` | diff --git a/docs/reference/app/components/v-detail.md b/docs/reference/app/components/v-detail.md new file mode 100644 index 0000000000..a9bab0c56d --- /dev/null +++ b/docs/reference/app/components/v-detail.md @@ -0,0 +1,37 @@ +# Detail + +Use the detail component to hide not so important information or elements. + +```html + +
I'm hidden until you open the component
+
+``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------ | ----------------------- | ------------------ | --------- | +| `active` | Used with `v-model` | `undefined` | `Boolean` | +| `label` | Label of detail | `i18n.t('toggle')` | `String` | +| `start-open` | Have it open by default | `false` | `Boolean` | +| `disabled` | Disable any interaction | `false` | `Boolean` | + +#### Events + +| Event | Description | Value | +| -------- | --------------------------- | --------- | +| `toggle` | New active value of divider | `boolean` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------------------------- | --------------------- | +| _default_ | Content of the detail section | | +| `title` | Content to render in divider | `{ active: boolean }` | + +#### CSS Variables + +n/a diff --git a/docs/reference/app/components/v-dialog.md b/docs/reference/app/components/v-dialog.md new file mode 100644 index 0000000000..e3f5b24fbb --- /dev/null +++ b/docs/reference/app/components/v-dialog.md @@ -0,0 +1,43 @@ +# Dialog + +Renders an overlay with a flex slot rendering whatever content you pass. + +```html + + +

Are you sure you want to delete this item?

+ No + Yes +
+
+``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------ | --------------------------------------------------- | ----------- | --------- | +| `persistent` | Disable closing by clicking on the side | `false` | `Boolean` | +| `active` | Can be used in combination with `v-model` | `undefined` | `Boolean` | +| `placement` | Display it either in the `center` or to the `right` | `'center'` | `String` | + +#### Slots + +| Slot | Description | Data | +| ----------- | --------------------------------------------- | ---- | +| _default_ | Whatever should be rendered inside the dialog | | +| `activator` | Insert an activator for the dialog | | + +#### Events + +| Event | Description | Value | +| -------- | ----------------------- | --------- | +| `toggle` | Change the active state | `boolean` | +| `esc` | Escape has been pressed | `boolean` | + +#### CSS Variables + +| Variable | Default | +| -------------------- | ------- | +| `--v-dialog-z-index` | `100` | diff --git a/docs/reference/app/components/v-divider.md b/docs/reference/app/components/v-divider.md new file mode 100644 index 0000000000..3fc3ddacf7 --- /dev/null +++ b/docs/reference/app/components/v-divider.md @@ -0,0 +1,35 @@ +# Divider + +Divides content. Made to be used in `v-list` or `v-tabs` components. + +```html +New Section +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------------- | ----------------------------------------------------- | ------- | --------- | +| `vertical` | Render the divider vertically | `false` | `Boolean` | +| `inline-title` | Render the title inline with the divider, or under it | `true` | `Boolean` | +| `large` | Renders a larger divider | `false` | `Boolean` | + +#### Events + +n/a + +#### Slots + +| Slot | Description | Data | +| --------- | ------------------------------------------------------------------------ | ---- | +| _default_ | Label on the divider. This isn't rendered in vertical mode. | | +| `icon` | Icon on the divider. Rendered in all modes, inline with title if present | | + +#### CSS Variables + +| Variable | Default | +| ------------------------- | ------------------------------ | +| `--v-divider-color` | `var(--border-normal)` | +| `--v-divider-label-color` | `var(--foreground-normal-alt)` | diff --git a/docs/reference/app/components/v-drawer.md b/docs/reference/app/components/v-drawer.md new file mode 100644 index 0000000000..456cefcd1b --- /dev/null +++ b/docs/reference/app/components/v-drawer.md @@ -0,0 +1,48 @@ +# Drawer + +A more robust dialog that is rendered at the side and provides more space than a usual dialog. Can be helpful for +relational or nested data. + +```html + +
This text will show up in the drawer
+
+``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| --------------- | ------------------------------------------------------ | ------------------- | --------- | +| `title`\* | The title of the drawer | | `String` | +| `subtitle` | The subtitle of the drawer | `null` | `String` | +| `active` | Can be used with `v-model` to open or close the drawer | `undefined` | `Boolean` | +| `persistent` | Disallow closing the drawer by clicking out of it | `false` | `Boolean` | +| `icon` | An icon for the drawer | `'box'` | `String` | +| `sidebar-label` | A label for the sidebar | `i18n.t('sidebar')` | `String` | + +#### Events + +| Event | Description | Value | +| -------- | ---------------------------------------------------------------- | --------- | +| `cancel` | When escape is pressed or the drawer gets canceled in other ways | | +| `toggle` | When the drawer gets opened or closed | `boolean` | + +#### Slots + +| Slot | Description | Data | +| ----------------- | ------------------------------------------------------ | ---- | +| `activator` | Elements placed inside here can activate the drawer | `on` | +| `sidebar` | Display components to the side of the drawer like tabs | | +| `subtitle` | Add a custom subtitle | | +| `actions:prepend` | Prepend actions to the drawer | | +| `actions` | Add actions to the top right corner | | +| `header:append` | Append your elements to the header | | +| _default_ | Where the content of the drawer goes | | + +#### CSS Variables + +| Variable | Default | +| ---------------------- | ------- | +| `--v-drawer-max-width` | `856px` | diff --git a/docs/reference/app/components/v-error.md b/docs/reference/app/components/v-error.md new file mode 100644 index 0000000000..27c3165cb7 --- /dev/null +++ b/docs/reference/app/components/v-error.md @@ -0,0 +1,15 @@ +# Error + +Display an api request error. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| --------- | --------------------------------------- | ------- | ----- | +| `error`\* | The error returned from the api request | | `any` | diff --git a/docs/reference/app/components/v-fancy-select.md b/docs/reference/app/components/v-fancy-select.md new file mode 100644 index 0000000000..d9fd116ba7 --- /dev/null +++ b/docs/reference/app/components/v-fancy-select.md @@ -0,0 +1,67 @@ +# Fancy Select + +Mimics the functionality of a select, where only the current value is shown, but does it in a different visual +representation. + +## Usage + +```html + +``` + +## FancySelectItem + +| Prop | Description | Type | +| ------------- | ------------------------------------------ | ---------------------------------------- | +| `icon` | Which icon to display | `string` | +| `value` | Which value the item represents | `string or number` | +| `text` | The displayed text | `undefined or string or TranslateResult` | +| `description` | Optional description to display | `undefined or string or TranslateResult` | +| `divider` | If set to true, display an divider instead | `undefined or boolean` | +| `iconRight` | Display an optional icon to the right | `undefined or string` | + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | --------------------------------------- | ------- | ------------------- | +| `items`\* | The list of possible items to display | | `FancySelectItem[]` | +| `value` | used to model the selected items | `null` | `[String, Number]` | +| `disabled` | Disable selecting / deselecting a value | `false` | `Boolean` | + +#### Events + +| Event | Description | Value | +| ------- | -------------------------- | --------- | +| `input` | Syncs value with `v-model` | `boolean` | + +#### Slots + +n/a + +#### CSS Variables + +n/a diff --git a/docs/reference/app/components/v-field-select.md b/docs/reference/app/components/v-field-select.md new file mode 100644 index 0000000000..1ebb57070e --- /dev/null +++ b/docs/reference/app/components/v-field-select.md @@ -0,0 +1,25 @@ +# Field Select + +Allows for easy selection of field inside a collection. Also works with relations inside a collection. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------------- | ---------------------------------------------------------- | ------------ | ---------- | +| `collection`\* | From where the fields should be selected | | `String` | +| `disabled` | Disables this component | `false` | `Boolean` | +| `value` | Can be used to model the selected field | `null` | `string[]` | +| `depth` | If greater than `0`, it also considers relations of fields | `1` | `Number` | +| `inject` | Inject you own fields, collections or relations | `() => ({})` | `Object` | + +#### Events + +| Event | Description | Value | +| ------- | --------------------- | ---------- | +| `input` | The changed selection | `string[]` | diff --git a/docs/reference/app/components/v-field-template.md b/docs/reference/app/components/v-field-template.md new file mode 100644 index 0000000000..601b2fab5c --- /dev/null +++ b/docs/reference/app/components/v-field-template.md @@ -0,0 +1,27 @@ +# Field Template + +Similar to the v-field-select. Allows you to select fields or relational fields from a collection with the benefit of +being able to add text in between. + +Models a template string like `My name is {name} and I'm {age} years old`. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------------- | ---------------------------------------------------------- | ------- | --------- | +| `collection`\* | From where the fields should be selected | | `String` | +| `disabled` | Disables this component | `false` | `Boolean` | +| `value` | Can be used to model the template string | `null` | `String` | +| `depth` | If greater than `0`, it also considers relations of fields | `2` | `Number` | + +#### Events + +| Event | Description | Value | +| ------- | --------------------------- | -------- | +| `input` | The changed template string | `String` | diff --git a/docs/reference/app/components/v-form.md b/docs/reference/app/components/v-form.md new file mode 100644 index 0000000000..3972e19859 --- /dev/null +++ b/docs/reference/app/components/v-form.md @@ -0,0 +1,41 @@ +# Form + +Renders a form using interfaces based on the passed collection name. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------- | +| `collection` | The collection of which you want to render the fields | `undefined` | `String` | +| `fields` | Array of fields to render. This can be used instead of the collection prop | `undefined` | `Field[]` | +| `initial-values` | Object of the starting values of the fields | `null` | `FieldValues` | +| `edits` | The edits that were made after the form was rendered. Being used in `v-model` | `null` | `FieldValues` | +| `loading` | Display the form in a loading state. Prevents the ctx menus from being used and renders skeleton loaders for the fields | `false` | `Boolean` | +| `batch-mode` | If enabled, allows to select multiple entries | `false` | `Boolean` | +| `primary-key` | The primary key of the given collection | `null` | `[String, Number]` | +| `disabled` | Disables any interaction with the form | `false` | `Boolean` | +| `validation-errors` | Add custom validation to any field | `() => []` | `ValidationError[]` | + +**Note**: You have to pass either the collection or fields prop. + +#### Slots + +n/a + +#### Events + +| Event | Description | Value | +| ------- | ------------------------ | ----- | +| `input` | Edits have been updated. | | diff --git a/docs/reference/app/components/v-hover.md b/docs/reference/app/components/v-hover.md new file mode 100644 index 0000000000..32a992fded --- /dev/null +++ b/docs/reference/app/components/v-hover.md @@ -0,0 +1,50 @@ +# Hover + +Adds hover functionality to any component you place inside. Can be used to display different states of a component +depending if you are hovering over it. + +```html + + + +``` + +## Delays + +You can control how long the hover state persists after the user leaves the element with the `close-delay` prop. +Likewise, you can set how long it will take before the hover state is set with the `open-delay` prop: + +```html + + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------- | -------------------------------------------- | ------- | --------- | +| `close-delay` | Delay (ms) before the hover state is removed | `0` | `Number` | +| `open-delay` | Delay (ms) before the hover state is applied | `0` | `Number` | +| `disabled` | Disables the hover state from happening | `false` | `Boolean` | +| `tag` | What HTML tag to use for the wrapper | `'div'` | `String` | + +#### Events + +n/a + +#### Slots + +| Slot | Description | Data | +| --------- | ----------------------------------------------------------- | ---- | +| _default_ | Place your components that should use the hover effect here | | diff --git a/docs/reference/app/components/v-icon.md b/docs/reference/app/components/v-icon.md new file mode 100644 index 0000000000..cb4c78fda8 --- /dev/null +++ b/docs/reference/app/components/v-icon.md @@ -0,0 +1,69 @@ +# Icon + +The icon component allows you to render any [Material Design Icons](https://material.io/icons). It also supports +rendering of custom SVG based icons. + +## Sizes / Colors + +The icon component supports multiple sizes and colors. The color prop accepts any valid CSS color. Color changes are +done via the css variable `--v-icon-color` like in the example below. + +```html + + +``` + +## Custom Size + +If the default sizes don't give you the exact size you require, you can add the `size` prop with any custom pixel value. +Note: we recommend using one of the pre-defined sizes to ensure a consistent look across the platform. + +## Outline + +You can render the outline variant of the Material Icon by setting the `outline` property. + +## Click events + +When you add a click event to the icon, the icon will automatically add a pointer cursor. + +## Left / Right + +Oftentimes, you'll use the icon next to some text, for example in a button. When doing this, you can use the `left` / +`right` props to add some spacing to the icon: + +```html + + Add new + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ------------------------------------ | ------- | --------- | +| `name`\* | Which icon to display | | `String` | +| `filled` | Removes the outline stlye if enabled | `false` | `Boolean` | +| `sup` | | `false` | `Boolean` | +| `left` | Displays the icon more to the left | `false` | `Boolean` | +| `right` | Displays the icon more to the right | `false` | `Boolean` | +| `disabled` | Disables the icon | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| ---------------------- | -------------- | +| `--v-icon-color` | `currentColor` | +| `--v-icon-color-hover` | `currentColor` | +| `--v-icon-size` | `24px` | + +#### Events + +| Event | Description | Value | +| ------- | ------------------------------- | ----- | +| `click` | Fires when clicking on the icon | | diff --git a/docs/reference/app/components/v-info.md b/docs/reference/app/components/v-info.md new file mode 100644 index 0000000000..2d52115091 --- /dev/null +++ b/docs/reference/app/components/v-info.md @@ -0,0 +1,33 @@ +# Info + +Renders a stylized informational placard. It's similar in `v-notice` in it's use case. + +```html +We couldn't find the user you're looking for. +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| --------- | --------------------------------------------- | -------- | ---------------------------------------------- | +| `title`\* | The title to display in the info | | `String` | +| `icon` | What icon to render above the title | `'box'` | `String` | +| `type` | One of `info`, `success`, `warning`, `danger` | `'info'` | `'info' or 'success' or 'warning' or 'danger'` | +| `center` | Display the info centered | `false` | `Boolean` | + +#### Events + +n/a + +#### Slots + +| Slot | Description | Data | +| --------- | ------------------------------------------------------------ | ---- | +| _default_ | Default content area. Is rendered within a styled `

` tag. | | +| `append` | After the main body copy. Can be used to inject buttons etc. | | + +#### CSS Variables + +n/a diff --git a/docs/reference/app/components/v-input.md b/docs/reference/app/components/v-input.md new file mode 100644 index 0000000000..4db4e3c4b5 --- /dev/null +++ b/docs/reference/app/components/v-input.md @@ -0,0 +1,69 @@ +# Input + +Displays the usual input. Can be used to model strings and numbers. + +```html + +``` + +## Attributes & Events + +The HTML `` element supports a huge amount of attributes and events. In order to support all of these, all props +that aren't specially handled (see list below) will be passed on to the `` element directly. This allows you to +change anything you want on the input. + +## Prefixes / Suffixes + +You can add any custom (text) prefix/suffix to the value in the input using the `prefix` and `suffix` slots. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------------- | -------------------------------------------------------------- | -------- | ------------------ | +| `value` | Used with `v-model` to mirror the entered value | `null` | `[String, Number]` | +| `autofocus` | Autofocusses the input on render | `false` | `Boolean` | +| `disabled` | Set the disabled state for the input | `false` | `Boolean` | +| `full-width` | Render the input with 100% width | `true` | `Boolean` | +| `prefix` | Prefix the users value with a value | `null` | `String` | +| `suffix` | Show a value at the end of the input | `null` | `String` | +| `slug` | Force the value to be URL safe | `false` | `Boolean` | +| `slug-separator` | What character to use as separator in slugs | `'-'` | `String` | +| `active` | Force the focus state | `false` | `Boolean` | +| `trim` | Trim the start and end whitespace | `false` | `Boolean` | +| `nullable` | When active, sets an empty entry to null | `true` | `Boolean` | +| `type` | Can be `text` or `number` | `'text'` | `String` | +| `max` | The maximum number that can be entered | `null` | `Number` | +| `min` | The minimum number that can be enterd | `null` | `Number` | +| `step` | In which unit steps should be counted up or down | `1` | `Number` | +| `db-safe` | Make the value save to be used with the DB | `false` | `Boolean` | +| `hide-arrows` | Hide the arrows that are used to increase or decrease a number | `false` | `Boolean` | + +Note: all other attached attributes are bound to the input HTMLELement in the component. This allows you to attach any +of the standard HTML attributes like `min`, `length`, or `pattern`. + +#### Slots + +| Slot | Description | Data | +| --------------- | ------------------------------------------------- | ------------------------------------------------- | +| `prepend-outer` | Before the input | `{ disabled: boolean, value: string or number; }` | +| `prepend` | In the input, before the value, before the prefix | `{ disabled: boolean, value: string or number; }` | +| `append` | In the input, after the value, after the suffix | `{ disabled: boolean, value: string or number; }` | +| `append-outer` | After the input | `{ disabled: boolean, value: string or number; }` | +| `input` | | | + +#### CSS Variables + +| Variable | Default | +| ----------------------------- | --------------------------- | +| `--v-input-font-family` | `var(--family-sans-serif)` | +| `--v-input-placeholder-color` | `var(--foreground-subdued)` | + +#### Events + +| Event | Description | Value | +| --------- | --------------------------------- | ------------------ | +| `click` | Fires when the input gets clicked | | +| `keydown` | When a key has been pressen | | +| `input` | Updated the modeled value | `String or Number` | diff --git a/docs/reference/app/components/v-item-group.md b/docs/reference/app/components/v-item-group.md new file mode 100644 index 0000000000..09ddc07211 --- /dev/null +++ b/docs/reference/app/components/v-item-group.md @@ -0,0 +1,155 @@ +# Item Group + +Provides the ability to make groups of items out of any nested component. Can be reused to make more advanced selectable +elements like a list of cards, or a button group. + +## Usage + +```html + + + +``` + +The `v-item-group` component will keep the final state for the selection; every nested `v-item` component will be +registered to the context of the first `v-item-group` parent up in the tree. This means that `v-item` can be in any +nested component or sibling: + +```html + + +

+ +
+
+ + + +
+ +``` + +It also means you can theoretically nest item-groups inside of items: + +```html + + +
+ + + +
+ +
+
+ + + +
+
+
+
+
+ + + +
+
+``` + +(That being said, if you ever find yourself in this situation, think long and hard if what you're doing makes sense) + +### Active / Toggle + +Every `v-item` provides the `active` state and a `toggle` function to the default slot. Use this to render custom markup +/ styling and to toggle the active state for this item: + +```html + +

Am I active? {{ active }}

+ Toggle active state +
+``` + +### Custom values + +By default, the `v-item-group` component will use the index of the child as model value (eg `[2, 4]`). The child +`v-item` component accepts a `value` prop that lets you choose what is used as identifier for the v-item. This can be +useful when you're working with a predefined list of items: + +```html + + + +``` + +In this case, the selection state for all items selected would be `[15, 414, 'jolly']` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ----------- | ----------------------------------------------------- | -------------- | ---------------------- | +| `value` | Used with `v-model` to model the selected items | `undefined` | `(string or number)[]` | +| `mandatory` | If enabled, at least one item has to be selected | `false` | `Boolean` | +| `max` | The maximum amount of items that can be selected | `-1` | `Number` | +| `multiple` | If enabled, multiple elements can be selected | `false` | `Boolean` | +| `scope` | Items that do not have the same scope will be ignored | `'item-group'` | `String` | + +#### Events + +| Event | Description | Value | +| ------- | -------------------------------- | -------------------- | +| `input` | Used to update the modeled value | (String or Number)[] | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------------------------------------------------------- | ---- | +| _default_ | All items placed inside here will be part of the item group | | diff --git a/docs/reference/app/components/v-item.md b/docs/reference/app/components/v-item.md new file mode 100644 index 0000000000..8c5b934f38 --- /dev/null +++ b/docs/reference/app/components/v-item.md @@ -0,0 +1,21 @@ +# Item + +Should be used in combination with `v-item-group` to model the state of active / inactive items. For more information +have a look at the item group component. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------- | ----------------------------------------------------- | -------------- | --------- | +| `value` | Which value to represent when active | `null` | `String` | +| `scope` | Only matches to a group when both scopes are the same | `'item-group'` | `String` | +| `active` | If the item is currently activated | `undefined` | `Boolean` | +| `watch` | If the active state should update after initial set | `true` | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| --------- | --------------------------- | ---- | +| _default_ | Where the item content goes | | diff --git a/docs/reference/app/components/v-list-group.md b/docs/reference/app/components/v-list-group.md new file mode 100644 index 0000000000..19a9d91060 --- /dev/null +++ b/docs/reference/app/components/v-list-group.md @@ -0,0 +1,49 @@ +# List Group + +Used to display nested items inside a list. + +```html + + Item 1 + Item 2 + Item 3 + + + + + Item 1-1 + Item 1-2 + Item 1-2 + + +``` + +## Reference + +#### Events + +| Event | Description | Value | +| ------- | ----------- | ----- | +| `click` | | | + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ----------- | ----------- | ------------------ | +| `multiple` | | `true` | `Boolean` | +| `to` | | `null` | `String` | +| `active` | | `false` | `Boolean` | +| `exact` | | `false` | `Boolean` | +| `disabled` | | `false` | `Boolean` | +| `scope` | | `undefined` | `String` | +| `value` | | `undefined` | `[String, Number]` | +| `dense` | | `false` | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| ----------- | ----------- | ---- | +| `activator` | | | +| _default_ | | | diff --git a/docs/reference/app/components/v-list-item-content.md b/docs/reference/app/components/v-list-item-content.md new file mode 100644 index 0000000000..340f4dea84 --- /dev/null +++ b/docs/reference/app/components/v-list-item-content.md @@ -0,0 +1,18 @@ +# List Item Content + +Add properly formatted content to the `v-list-item`. + +## Reference + +#### CSS Variables + +| Variable | Default | +| ----------------------------------- | -------------------------- | +| `--v-list-item-content-padding` | `9px 0` | +| `--v-list-item-content-font-family` | `var(--family-sans-serif)` | + +#### Slots + +| Slot | Description | Data | +| --------- | ---------------------- | ---- | +| _default_ | Where the content goes | | diff --git a/docs/reference/app/components/v-list-item-hint.md b/docs/reference/app/components/v-list-item-hint.md new file mode 100644 index 0000000000..1721a9e2de --- /dev/null +++ b/docs/reference/app/components/v-list-item-hint.md @@ -0,0 +1,17 @@ +# List Item Hint + +Adds a hint to the `v-list-item` component. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------- | ----------- | ------- | --------- | +| `center` | | `false` | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-list-item-icon.md b/docs/reference/app/components/v-list-item-icon.md new file mode 100644 index 0000000000..b243b9f4f5 --- /dev/null +++ b/docs/reference/app/components/v-list-item-icon.md @@ -0,0 +1,30 @@ +# List Item Icon + +Adds an icon to a `v-list-item`. + +```html + + + This is a person + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------- | ---------------- | ------- | --------- | +| `center` | Centers the icon | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| -------------------------- | --------------------------- | +| `--v-list-item-icon-color` | `var(--foreground-subdued)` | + +#### Slots + +| Slot | Description | Data | +| --------- | ------------------- | ---- | +| _default_ | Where the icon goes | | diff --git a/docs/reference/app/components/v-list-item.md b/docs/reference/app/components/v-list-item.md new file mode 100644 index 0000000000..280c75f722 --- /dev/null +++ b/docs/reference/app/components/v-list-item.md @@ -0,0 +1,49 @@ +# List Item + +Used inside a `v-list` to display an item inside the given list. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | -------------------------------------------------- | ----------- | -------------------- | +| `value` | What value to represent when active | `undefined` | `[String, Number]` | +| `large` | If the item should be displayed larger | `false` | `Boolean` | +| `dense` | Makes the item smaller | `false` | `Boolean` | +| `to` | Where the item should link to | `null` | `string or Location` | +| `href` | Same as `to` except that it takes an external link | `null` | `String` | +| `disabled` | Disables the item | `false` | `Boolean` | +| `active` | If the item should be active or not | `false` | `Boolean` | +| `dashed` | Adds a dashed style | `false` | `Boolean` | +| `exact` | | `false` | `Boolean` | +| `download` | | `null` | `String` | + +# + +### CSS Variables + +| Variable | Default | +| --------------------------------------- | --------------------------------------------------------------------- | +| `--v-list-item-min-height-large` | `40px` | +| `--v-list-item-min-height` | `var(--v-list-item-min-height)` | +| `--v-list-item-padding-large` | `0 8px` | +| `--v-list-item-padding` | `0 8px 0 calc(8px + var(--v-list-item-indent, 0px))` | +| `--v-list-item-margin-large` | `4px 0` | +| `--v-list-item-margin` | `2px 0` | +| `--v-list-item-min-width` | `none` | +| `--v-list-item-max-width` | `none` | +| `--v-list-item-max-height` | `auto` | +| `--v-list-item-border-radius` | `var(--border-radius)` | +| `--v-list-item-margin-bottom` | `0` | +| `--v-list-item-color` | `var(--v-list-color, var(--foreground-normal))` | +| `--v-list-item-color-hover` | `var(--v-list-color-hover, var(--foreground-normal))` | +| `--v-list-item-color-active` | `var(--v-list-color-active, var(--foreground-normal))` | +| `--v-list-item-background-color-hover` | `var(--v-list-background-color-hover, var(--background-normal-alt))` | +| `--v-list-item-background-color-active` | `var(--v-list-background-color-active, var(--background-normal-alt))` | + +#### Slots + +| Slot | Description | Data | +| --------- | --------------------------- | ---- | +| _default_ | Where the item content goes | | diff --git a/docs/reference/app/components/v-list.md b/docs/reference/app/components/v-list.md new file mode 100644 index 0000000000..f3e764b1d0 --- /dev/null +++ b/docs/reference/app/components/v-list.md @@ -0,0 +1,59 @@ +# List + +Display usual lists. Also works with nested data. + +```html + + Item 1 + Item 2 + Item 3 + + + + + Item 1-1 + Item 1-2 + Item 1-2 + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------------- | ----------------------------------------------------------- | ---------- | ---------------------- | +| `active-items` | Used with `v-model` to model all selected items in the list | `() => []` | `(number or string)[]` | +| `large` | Displays each list item a bit larger | `false` | `Boolean` | +| `multiple` | Allows to select multiple items in the list | `true` | `Boolean` | +| `mandatory` | At least one item has to be selected | `true` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| ---------------------------------- | ------------------------------ | +| `--v-list-padding` | `4px 0` | +| `--v-list-max-height` | `none` | +| `--v-list-max-width` | `none` | +| `--v-list-min-width` | `220px` | +| `--v-list-min-height` | `none` | +| `--v-list-color` | `var(--foreground-normal-alt)` | +| `--v-list-color-hover` | `var(--foreground-normal-alt)` | +| `--v-list-color-active` | `var(--foreground-normal-alt)` | +| `--v-list-background-color-hover` | `var(--background-normal-alt)` | +| `--v-list-background-color-active` | `var(--background-normal-alt)` | + +#### Events + +| Event | Description | Value | +| ------- | ------------------------------------ | ----- | +| `input` | Used to update the current selection | | + +#### Slots + +| Slot | Description | Data | +| --------- | -------------------------- | ---- | +| _default_ | Render all list items here | | diff --git a/docs/reference/app/components/v-menu.md b/docs/reference/app/components/v-menu.md new file mode 100644 index 0000000000..95c88c538b --- /dev/null +++ b/docs/reference/app/components/v-menu.md @@ -0,0 +1,42 @@ +# Menu + +Renders a dropdown menu. Can be attached to an activator element or free floating. + +**NOTE** + +Due to the fact that a menu is rendered through a portal, dialogs don't work great when rendered from within a menu. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------------------ | ----------------------------------------------------------------- | ----------- | ----------- | +| `placement` | Where to position the popper. | `'bottom'` | `Placement` | +| `value` | Value to control menu active state | `undefined` | `Boolean` | +| `close-on-click` | Close the menu when clicking outside of the menu | `true` | `Boolean` | +| `close-on-content-click` | Close the menu when clicking the content of the menu | `true` | `Boolean` | +| `attached` | Attach the menu to an input | `false` | `Boolean` | +| `show-arrow` | Show an arrow pointer | `false` | `Boolean` | +| `disabled` | Menu does not appear | `false` | `Boolean` | +| `trigger` | Activate the menu on a trigger. One of `manual`, `click`, `hover` | `null` | `String` | +| `delay` | Time in ms before menu activates after trigger | `0` | `Number` | + +#### CSS Variables + +| Variable | Default | +| -------------------- | ------- | +| `--v-menu-min-width` | `100px` | + +#### Events + +| Event | Description | Value | +| ------- | ---------------------------- | --------- | +| `input` | Used to model the value prop | `Boolean` | + +#### Slots + +| Slot | Description | Data | +| ----------- | ------------------------------------------------- | ---- | +| `activator` | The activator for the menu | | +| _default_ | Elements that should be displayed inside the menu | | diff --git a/docs/reference/app/components/v-notice.md b/docs/reference/app/components/v-notice.md new file mode 100644 index 0000000000..eb44db810b --- /dev/null +++ b/docs/reference/app/components/v-notice.md @@ -0,0 +1,31 @@ +# Notice + +Render a small notice to warn of something or to give tips on how to use things. + +```html +I'm a notice! +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------- | ------------------------------------------------------------------ | ---------- | ---------------------------------------------------------- | +| `type` | One of `info`, `success`, `warning`, `danger` | `'normal'` | `'normal' or 'info' or 'success' or 'warning' or 'danger'` | +| `icon` | Custom icon name, or false if you want to hide the icon completely | `null` | `[String, Boolean]` | +| `center` | Render notice content centered | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| ----------------------------- | --------------------------- | +| `--v-notice-color` | `var(--foreground-subdued)` | +| `--v-notice-background-color` | `var(--background-subdued)` | +| `--v-notice-icon-color` | `var(--foreground-subdued)` | + +#### Slots + +| Slot | Description | Data | +| --------- | ------------------------------------ | ---- | +| _default_ | Whatever should be inside the notice | | diff --git a/docs/reference/app/components/v-overlay.md b/docs/reference/app/components/v-overlay.md new file mode 100644 index 0000000000..f5740b9e8d --- /dev/null +++ b/docs/reference/app/components/v-overlay.md @@ -0,0 +1,53 @@ +# Overlay + +The overlay is a fairly barebones component that's meant to be used with modals / confirms / other attention requiring +actions. + +```html + + Close overlay + +``` + +## Color + +The colors can be changed via the css variable `--v-overlay-color`. + +```html + + Close overlay + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ------------------------- | ------- | --------- | +| `active` | Show / hide the overlay | `false` | `Boolean` | +| `absolute` | Add `position: absolute;` | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| --------------------- | ---------------------- | +| `--v-overlay-color` | `var(--overlay-color)` | +| `--v-overlay-z-index` | `600` | + +#### Events + +| Event | Description | Value | +| ------- | ----------- | ----- | +| `click` | | | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-pagination.md b/docs/reference/app/components/v-pagination.md new file mode 100644 index 0000000000..90201692ad --- /dev/null +++ b/docs/reference/app/components/v-pagination.md @@ -0,0 +1,33 @@ +# Pagination + +Add a pagination to a list or similar to allow for access to multiple pages. + +## Usage + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ----------------- | ------------------------------------------------ | ----------- | --------- | +| `length`\* | The amount of pages to render | `null` | `Number` | +| `value` | Currently selected page | `null` | `Number` | +| `disabled` | Disables the pagination | `false` | `Boolean` | +| `total-visible` | Specify the max total visible pagination numbers | `undefined` | `Number` | +| `show-first-last` | Show first/last buttons | `false` | `Boolean` | + +#### Events + +| Event | Description | Value | +| ------- | --------------------- | -------- | +| `input` | When the page changes | `number` | + +#### CSS Variables + +| Variable | Default | +| ----------------------------- | ---------------- | +| `--v-pagination-active-color` | `var(--primary)` | diff --git a/docs/reference/app/components/v-progress-circular.md b/docs/reference/app/components/v-progress-circular.md new file mode 100644 index 0000000000..740645d846 --- /dev/null +++ b/docs/reference/app/components/v-progress-circular.md @@ -0,0 +1,40 @@ +# Progress Circular + +Displays a circular progress bar as the name suggests. Can be used to show that something is loading or how much +something is done. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| --------------- | ------------------------------------------------------- | ------- | --------- | +| `indeterminate` | If set to true displays no value but spins indefinitely | `false` | `Boolean` | +| `value` | Which value to represent going from 0 to 100 | `0` | `Number` | + +#### CSS Variables + +| Variable | Default | +| ---------------------------------------- | -------------------------- | +| `--v-progress-circular-color` | `var(--foreground-normal)` | +| `--v-progress-circular-background-color` | `var(--border-normal)` | +| `--v-progress-circular-transition` | `400ms` | +| `--v-progress-circular-speed` | `2s` | +| `--v-progress-circular-size` | `28px` | +| `--v-progress-circular-line-size` | `3px` | + +#### Events + +| Event | Description | Value | +| -------------------- | ----------- | ----- | +| `animationiteration` | | | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-progress-linear.md b/docs/reference/app/components/v-progress-linear.md new file mode 100644 index 0000000000..f12c96bbc1 --- /dev/null +++ b/docs/reference/app/components/v-progress-linear.md @@ -0,0 +1,42 @@ +# Progress Linear + +Displays a linear progress bar. Can be used to show that something is loading or how much something is done. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| --------------- | -------------------------------------- | ------- | --------- | +| `value` | Which value to represent from 0 to 100 | `0` | `Number` | +| `absolute` | Sets position to absolute | `false` | `Boolean` | +| `fixed` | Sets position to fixed | `false` | `Boolean` | +| `indeterminate` | Play a general loading animation | `false` | `Boolean` | +| `rounded` | Rounds up the corners of the progress | `false` | `Boolean` | +| `top` | Positions the bar at the top | `false` | `Boolean` | +| `bottom` | Positions the bar at the bottom | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| -------------------------------------- | -------------------------- | +| `--v-progress-linear-height` | `4px` | +| `--v-progress-linear-color` | `var(--foreground-normal)` | +| `--v-progress-linear-background-color` | `var(--border-normal)` | +| `--v-progress-linear-transition` | `400ms` | + +#### Events + +| Event | Description | Value | +| -------------------- | ----------- | ----- | +| `animationiteration` | | | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-radio.md b/docs/reference/app/components/v-radio.md new file mode 100644 index 0000000000..df5cc0dc49 --- /dev/null +++ b/docs/reference/app/components/v-radio.md @@ -0,0 +1,41 @@ +# Radio + +Classic radio buttons. Nothing special. + +```html + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------- | ------------------------------------------- | -------------------------- | --------- | +| `value`\* | What value to represent when selected | | `String` | +| `input-value` | Selected value. Used as value for `v-model` | `null` | `String` | +| `label` | Label to render next to the radio | `null` | `String` | +| `disabled` | Disable the radio button | `false` | `Boolean` | +| `icon-on` | Change the icon to display when enabled | `'radio_button_checked'` | `String` | +| `icon-off` | Change the icon to display when disabled | `'radio_button_unchecked'` | `String` | +| `block` | Render the radio in a block like style | `false` | `Boolean` | + +#### Events + +| Event | Description | Value | +| -------- | ------------------------------------------------------------- | -------- | +| `change` | When the state of the radio button changes. Used in `v-model` | `string` | + +#### Slots + +| Slot | Description | Data | +| ------- | --------------------------------------------------------------------------------- | ---- | +| `label` | Custom override for label slot. Allows you to render custom markup in label slot. | | + +#### CSS Variables + +| Variable | Default | +| ----------------- | ---------------- | +| `--v-radio-color` | `var(--primary)` | diff --git a/docs/reference/app/components/v-select.md b/docs/reference/app/components/v-select.md new file mode 100644 index 0000000000..85f4b850bb --- /dev/null +++ b/docs/reference/app/components/v-select.md @@ -0,0 +1,58 @@ +# Select + +Renders a dropdown input. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------------------------- | -------------------------------------------------------------- | --------- | ------------ | +| `items`\* | The items that should be selectable | | `ItemsRaw` | +| `item-text` | Which prop should be taken to render the text | `'text'` | `String` | +| `item-value` | Which prop should be taken to mirror the selected value | `'value'` | `String` | +| `item-icon` | Which prop should be taken to render the icon | `null` | `String` | +| `value` | Mirror with `v-model` the currently selected values | `null` | `InputValue` | +| `multiple` | Allow to select multiple values | `false` | `Boolean` | +| `placeholder` | A placeholder if no item is selected yet | `null` | `String` | +| `full-width` | Display the select in full width | `true` | `Boolean` | +| `disabled` | Disable any interaction with the select | `false` | `Boolean` | +| `show-deselect` | Allow to deselect all currently selected items | `false` | `Boolean` | +| `allow-other` | Allow to enter custom values | `false` | `Boolean` | +| `close-on-content-click` | Close the dropdown when an selection has been made | `true` | `Boolean` | +| `inline` | display the selection inline with other text | `false` | `Boolean` | +| `multiple-preview-threshold` | The maximum amount of selected items to display in the preview | `3` | `Number` | + +#### CSS Variables + +| Variable | Default | +| ------------------------ | -------------------------- | +| `--v-select-font-family` | `var(--family-sans-serif)` | + +#### Slots + +| Slot | Description | Data | +| --------- | --------------------------------- | ---- | +| `prepend` | Prepend anything to the selection | | + +#### Events + +| Event | Description | Value | +| ------- | ----------- | ----- | +| `input` | | | diff --git a/docs/reference/app/components/v-sheet.md b/docs/reference/app/components/v-sheet.md new file mode 100644 index 0000000000..fb9ff16758 --- /dev/null +++ b/docs/reference/app/components/v-sheet.md @@ -0,0 +1,47 @@ +# Sheet + +A sheet is a component that holds other components. It provides a visual difference (layer) on the page. It's often used +when grouping fields. + +```html + +``` + +## Sizing + +The sheet component has props for `height`, `width`, `min-height`, `min-width`, `max-height`, and `max-width`. All of +these props are in pixels. + +## Color + +The color can be changed via the css variable called `--v-sheet-color`. + +```html + + +``` + +## Reference + +#### CSS Variables + +| Variable | Default | +| ---------------------------- | --------------------------- | +| `--v-sheet-background-color` | `var(--background-subdued)` | +| `--v-sheet-height` | `auto` | +| `--v-sheet-min-height` | `var(--input-height)` | +| `--v-sheet-max-height` | `none` | +| `--v-sheet-width` | `auto` | +| `--v-sheet-min-width` | `none` | +| `--v-sheet-max-width` | `none` | +| `--v-sheet-padding` | `8px` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-skeleton-loader.md b/docs/reference/app/components/v-skeleton-loader.md new file mode 100644 index 0000000000..eed4beab67 --- /dev/null +++ b/docs/reference/app/components/v-skeleton-loader.md @@ -0,0 +1,22 @@ +# Skeleton Loader + +Render a placeholder while the proper content is still loading. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------ | ----------------------------------- | --------- | -------- | +| `type` | Name of another component to mirror | `'input'` | `String` | + +#### CSS Variables + +| Variable | Default | +| -------------------------------------- | --------------------------- | +| `--v-skeleton-loader-color` | `var(--background-page)` | +| `--v-skeleton-loader-background-color` | `var(--background-subdued)` | diff --git a/docs/reference/app/components/v-slider.md b/docs/reference/app/components/v-slider.md new file mode 100644 index 0000000000..ae9c2e792b --- /dev/null +++ b/docs/reference/app/components/v-slider.md @@ -0,0 +1,93 @@ +# Slider + +A standard slider as everybody knows them. + +```html + +``` + +## Color + +The colors can be changed via the css variables `--v-slider-color`, `--v-slider-fill-color` and +`--v-slider-thumb-color`. + +```html + + +``` + +## Thumb Label + +You can show the current value of the slider when the user is sliding by enabling the thumb label. This can be done by +setting the `show-thumb-label` prop: + +```html + +``` + +## Ticks + +You can render an indicator for every step of the slider. This allows the user to know what kind of steps are available +when sliding the slider. You can enable this with the `show-ticks` prop. + +```html + +``` + +## Prepend / Append slot + +You can add any custom content before and after the slider (inline). This can be used to render things like buttons to +decrease / increase the value, or a label that shows a preview of what the value with a unit is going to be. + +```html + + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------------- | --------------------------------------------------- | ------- | --------- | +| `max` | Maximum allowed value | `100` | `Number` | +| `min` | Minimum allowed value | `0` | `Number` | +| `show-thumb-label` | Show the thumb label on drag of the thumb | `false` | `Boolean` | +| `show-ticks` | Show tick for each step | `false` | `Boolean` | +| `step` | In what step the value can be entered | `1` | `Number` | +| `value` | Current value of slider. Can be used with `v-model` | `0` | `Number` | +| `always-show-value` | Always the current selected value | `false` | `Boolean` | + +#### Events + +| Event | Description | Value | +| -------- | ------------------------------------------- | -------- | +| `change` | Fires only when the user releases the thumb | `number` | +| `input` | Fires continuously | `number` | + +#### CSS Variables + +| Variable | Default | +| ------------------------ | ---------------------- | +| `--v-slider-color` | `var(--border-normal)` | +| `--v-slider-thumb-color` | `var(--primary)` | +| `--v-slider-fill-color` | `var(--primary)` | + +#### Slots + +| Slot | Description | Data | +| ------------- | ------------------------------ | ---- | +| `prepend` | Prepend anything to the slider | | +| `thumb-label` | | | +| `type-text` | | | +| `append` | Append anything to the slider | | diff --git a/docs/reference/app/components/v-switch.md b/docs/reference/app/components/v-switch.md new file mode 100644 index 0000000000..06e20d8a8d --- /dev/null +++ b/docs/reference/app/components/v-switch.md @@ -0,0 +1,76 @@ +# Switch + +Render a switch that either can model a single boolean value or model an array in combination with the `value` prop. + +```html + +``` + +## Colors + +Color changes are done using the css variable `--v-switch-color`. + +```html + + +``` + +## Boolean vs arrays + +Just as with regular checkboxes, you can use `v-model` with both an array and a boolean: + +```html + + + +``` + +Keep in mind to pass the `value` prop with a unique value when using arrays in `v-model`. + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------------- | ------------------------------------------------------ | ------- | ------------------ | +| `value` | If modeling an array, what value the switch represents | `null` | `String` | +| `input-value` | Model the selected state using `v-model` | `false` | `[Boolean, Array]` | +| `disabled` | Disables the switch | `false` | `Boolean` | +| `label` | Displays a label next to the switch | `null` | `String` | + +#### CSS Variables + +| Variable | Default | +| ------------------ | -------------------------- | +| `--v-switch-color` | `var(--foreground-normal)` | + +#### Events + +| Event | Description | Value | +| -------- | ------------------------------------ | ----- | +| `change` | When the state of the switch changes | | + +#### Slots + +| Slot | Description | Data | +| ------- | ----------------------------------------------- | ---- | +| `label` | Alternative way of adding a label to the switch | | diff --git a/docs/reference/app/components/v-tab-item.md b/docs/reference/app/components/v-tab-item.md new file mode 100644 index 0000000000..a8e8793a04 --- /dev/null +++ b/docs/reference/app/components/v-tab-item.md @@ -0,0 +1,42 @@ +# Tab Item + +Individual tab content. To be used in a `v-tabs-items` context. + +```html + + This is the content for the first tab. + This is the content for the second tab. + +``` + +If you're using a custom value in the `value` prop, make sure the corresponding tab uses the same value to match: + +```html + + Home + Settings + + + + This is the content for home. + Settings content + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------- | --------------------------------------- | ------- | -------- | +| `value` | Custom value to use for selection state | `null` | `String` | + +#### Events + +n/a + +#### Slots + +| Slot | Description | Data | +| --------- | ---------------- | ----------------------------------------- | +| _default_ | Tab item content | `{ active: boolean, toggle: () => void }` | diff --git a/app/src/components/v-tabs/v-tab/readme.md b/docs/reference/app/components/v-tab.md similarity index 50% rename from app/src/components/v-tabs/v-tab/readme.md rename to docs/reference/app/components/v-tab.md index 14e0d52717..eade5c6561 100644 --- a/app/src/components/v-tabs/v-tab/readme.md +++ b/docs/reference/app/components/v-tab.md @@ -2,8 +2,6 @@ Individual tab. To be used inside a `v-tabs` context. -## Usage - ```html Schema @@ -11,24 +9,30 @@ Individual tab. To be used inside a `v-tabs` context. ``` -## Props -| Prop | Description | Default | -|------------|--------------------------------------------------------|---------| -| `disabled` | Disable the tab | `false` | -| `value` | A custom value to be used in the selection of `v-tabs` | | +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ------------------------------------------------------ | ------- | --------- | +| `disabled` | Disable the tab | `false` | `Boolean` | +| `value` | A custom value to be used in the selection of `v-tabs` | `null` | `String` | + +#### Events -## Events n/a -## Slots +#### Slots + | Slot | Description | Data | -|-----------|-------------|--------------------------------------------| +| --------- | ----------- | ------------------------------------------ | | _default_ | | `{ active: boolean, toggle: () => void; }` | -## CSS Variables -| Variable | Default | -|-----------------------------------|---------------------------------| -| `--v-tab-color` | `var(--foreground-normal)` | -| `--v-tab-background-color` | `var(--background-page)` | -| `--v-tab-color-active` | `var(--foreground-normal)` | -| `--v-tab-background-color-active` | `var(--background-page)` | +#### CSS Variables + +| Variable | Default | +| --------------------------------- | --------------------------- | +| `--v-tab-color` | `var(--foreground-subdued)` | +| `--v-tab-background-color` | `var(--background-page)` | +| `--v-tab-color-active` | `var(--foreground-normal)` | +| `--v-tab-background-color-active` | `var(--background-page)` | diff --git a/docs/reference/app/components/v-table.md b/docs/reference/app/components/v-table.md new file mode 100644 index 0000000000..0de708f459 --- /dev/null +++ b/docs/reference/app/components/v-table.md @@ -0,0 +1,165 @@ +# Table + +Used to display data like a list of objects in a table like view. + +```html + +``` + +## Headers + +| Property | Description | Default | +| ---------- | ------------------------------------------------------------ | ------- | +| `text`\* | Text displayed in the column | -- | +| `value`\* | Name of the object property that holds the value of the item | -- | +| `align` | Text alignment of value. One of `left`, `center`, `right` | `left` | +| `sortable` | If the column can be sorted on | `true` | +| `width` | Custom width of the column in px | -- | + +## Custom element / component for header + +You can override the displayed header name by using the dynamic `header.[name]` slot. `[name]` is the `value` property +in the header item for this column sent to `headers`. + +```html + + + +``` + +In this slot, you have access to the `header` through the scoped slot binding. + +## Custom element / component for cell value + +You can override the columns in a row by using the dynamic `item.[name]` slot. `[name]` is the `value` property in the +header item for this column sent to `headers`. + +```html + + + +``` + +In this slot, you have access to the `item` through the scoped slot binding. + +## Resizable rows + +Adding the `show-resize` prop allows the user to resize the columns at will. You can keep your headers updated by using +the `.sync` modifier or listening to the `update:headers` event: + +```html + + + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------------------- | ---------------------------------------------------------------------------------------------- | -------------------- | ------------- | +| `headers`\* | What columns to show in the table. Supports the `.sync` modifier | | `HeaderRaw[]` | +| `items`\* | The individual items to render as rows | | `Item[]` | +| `disabled` | Disable edits to items in the form (drag/select) | `false` | `Boolean` | +| `fixed-header` | Make the header fixed | `false` | `Boolean` | +| `inline` | Display the table inline with other text | `false` | `Boolean` | +| `item-key` | Primary key of the item. Used for keys / selections | `'id'` | `String` | +| `loading-text` | What text to show when table is loading with no items | `i18n.t('loading')` | `String` | +| `loading` | Show progress indicator | `false` | `Boolean` | +| `manual-sort-key` | What field to use for manual sorting | `null` | `String` | +| `must-sort` | Requires the sort to be on a particular column | `false` | `Boolean` | +| `no-items-text` | What text to show when table doesn't contain any rows | `i18n.t('no_items')` | `String` | +| `row-height` | Height of the individual rows in px | `48` | `Number` | +| `selection-use-keys` | What field to use for selection | `false` | `Boolean` | +| `selection` | What items are selected. Can be used with `v-model` as well | `() => []` | `any` | +| `server-sort` | Handle sorting on the parent level. | `false` | `Boolean` | +| `show-manual-sort` | Show manual sort drag handles | `false` | `Boolean` | +| `show-resize` | Show resize handlers | `false` | `Boolean` | +| `show-select` | Show checkboxes | `false` | `Boolean` | +| `sort` | What column / order to sort by. Supports the `.sync` modifier. `{ by: string, desc: boolean }` | `null` | `Sort` | + +#### Events + +| Event | Description | Value | +| ---------------- | ------------------------------------------------- | ------------------------------- | +| `update:sort` | `.sync` event for `sort` prop | `{ by: string, desc: boolean }` | +| `click:row` | When a row has been clicked | | +| `update:items` | When changes to the items where made | | +| `manual-sort` | When a user manually sorts the items | | +| `update:headers` | `.sync` event for `headers` prop or `HeaderRaw[]` | | +| `item-selected` | Emitted when an item is selected or deselected | `{ item: any, value: boolean }` | +| `select` | Emitted when selected items change | `any[]` | + +#### Slots + +| Slot | Description | Data | +| ------------------------ | ---------------------------- | ---- | +| `header.${header.value}` | A slot for each header | | +| `item.${header.value}` | A slot for each item | | +| `item-append` | Adds to the end of each item | | +| `footer` | Could be used for pagination | | + +#### CSS Variables + +| Variable | Default | +| ----------------------------- | -------------------------- | +| `--v-table-height` | `auto` | +| `--v-table-sticky-offset-top` | `0` | +| `--v-table-color` | `var(--foreground-normal)` | +| `--v-table-background-color` | `var(--background-page)` | diff --git a/docs/reference/app/components/v-tabs-items.md b/docs/reference/app/components/v-tabs-items.md new file mode 100644 index 0000000000..e981564dac --- /dev/null +++ b/docs/reference/app/components/v-tabs-items.md @@ -0,0 +1,32 @@ +# Tabs Items + +Tabs Items mirror a tab and display information for a selected tab. If a tab item is not selected, it automaticly gets +hidden. + +```html + + Home Section + News Section + Help Section + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ------- | ------------- | ----------- | ---------------------- | +| `value` | v-model value | `undefined` | `(string or number)[]` | + +#### Events + +| Event | Description | Value | +| ------- | --------------- | ------------------------------- | +| `input` | Updates v-model | `readonly (string or number)[]` | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-tabs.md b/docs/reference/app/components/v-tabs.md new file mode 100644 index 0000000000..3b57a684f4 --- /dev/null +++ b/docs/reference/app/components/v-tabs.md @@ -0,0 +1,62 @@ +# Tabs + +Tabs work like tabs in the browser and are there to split data into quickly accessable pages. + +```html + + Tab 1 + Tab 2 + Tab 3 + +``` + +## With Tab Items + +To be able to display a page depending on the tab use tab items. + +```html + + Tab 1 + Tab 2 + Tab 3 + + + + +

This is the first page

+
+ +

This is the second page

+
+ +

This is the third page

+
+
+``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| ---------- | ------------------------------------- | ----------- | ---------------------- | +| `value` | The currently selected tab | `undefined` | `(string or number)[]` | +| `vertical` | Display the tabs in a vertical format | `false` | `Boolean` | + +#### CSS Variables + +| Variable | Default | +| -------------------------- | -------------------------- | +| `--v-tabs-underline-color` | `var(--foreground-normal)` | + +#### Events + +| Event | Description | Value | +| ------- | ------------------------------- | ----- | +| `input` | Used to update the selected tab | | + +#### Slots + +| Slot | Description | Data | +| --------- | ----------- | ---- | +| _default_ | | | diff --git a/docs/reference/app/components/v-text-overflow.md b/docs/reference/app/components/v-text-overflow.md new file mode 100644 index 0000000000..3592bc6d8c --- /dev/null +++ b/docs/reference/app/components/v-text-overflow.md @@ -0,0 +1,15 @@ +# Text Overflow + +Can be used to display text in a single line and hide any overflow. + +```html + +``` + +## Reference + +#### Props + +| Prop | Description | Default | Type | +| -------- | --------------------------------- | ------- | ------------------------------------------ | +| `text`\* | The text that should be displayed | | `[String, Number, Array, Object, Boolean]` | diff --git a/app/src/components/v-textarea/readme.md b/docs/reference/app/components/v-textarea.md similarity index 56% rename from app/src/components/v-textarea/readme.md rename to docs/reference/app/components/v-textarea.md index 03b4ba1738..51fe03b080 100644 --- a/app/src/components/v-textarea/readme.md +++ b/docs/reference/app/components/v-textarea.md @@ -1,4 +1,6 @@ -# Input +# Textarea + +Renders a textarea in which multiline text can be entered. ```html @@ -6,38 +8,35 @@ ## Attributes & Events -The HTML `