@dejwcake/craftable 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -0
  3. package/dist/admin/Admin.js +42 -0
  4. package/dist/auth/Form.js +15 -0
  5. package/dist/base-components/Form/BaseForm.js +392 -0
  6. package/dist/base-components/Form/BaseUpload.js +188 -0
  7. package/dist/base-components/Form/bootstrap.js +21 -0
  8. package/dist/base-components/Listing/BaseListing.js +454 -0
  9. package/dist/base-components/Listing/components/Pagination.js +105 -0
  10. package/dist/base-components/Listing/components/Sortable.js +48 -0
  11. package/dist/base-components/Listing/components/UserDetailTooltip.js +55 -0
  12. package/dist/index.js +70 -0
  13. package/dist/overrides/trumbowyg.edit-embed-template.js +72 -0
  14. package/dist/overrides/trumbowyg.reupload.js +146 -0
  15. package/dist/overrides/trumbowyg.template.js +67 -0
  16. package/dist/translation/Form.js +15 -0
  17. package/dist/translation/Listing.js +283 -0
  18. package/dist/ui/index.js +33 -0
  19. package/img/favicon.png +0 -0
  20. package/img/logo.png +0 -0
  21. package/package.json +64 -0
  22. package/scss/_images.scss +18 -0
  23. package/scss/_variables.scss +17 -0
  24. package/scss/app.scss +9 -0
  25. package/scss/overrides/_alerts.scss +19 -0
  26. package/scss/overrides/_badges.scss +15 -0
  27. package/scss/overrides/_buttons.scss +62 -0
  28. package/scss/overrides/_cards.scss +72 -0
  29. package/scss/overrides/_checkboxes.scss +84 -0
  30. package/scss/overrides/_forms.scss +231 -0
  31. package/scss/overrides/_index.scss +19 -0
  32. package/scss/overrides/_keyframes.scss +23 -0
  33. package/scss/overrides/_layout.scss +47 -0
  34. package/scss/overrides/_media-wysiwyg.scss +111 -0
  35. package/scss/overrides/_modal.scss +26 -0
  36. package/scss/overrides/_multiselect.scss +39 -0
  37. package/scss/overrides/_nav.scss +87 -0
  38. package/scss/overrides/_notifications.scss +7 -0
  39. package/scss/overrides/_pagination.scss +38 -0
  40. package/scss/overrides/_switches.scss +23 -0
  41. package/scss/overrides/_tables.scss +64 -0
  42. package/scss/overrides/_text.scss +15 -0
  43. package/scss/overrides/_wysiwyg.scss +62 -0
  44. package/scss/styles/_auth.scss +92 -0
  45. package/scss/styles/_custom.scss +1 -0
  46. package/scss/styles/_index.scss +5 -0
  47. package/scss/styles/_legacy.scss +87 -0
  48. package/scss/styles/_others.scss +604 -0
  49. package/scss/vendor/_index.scss +4 -0
@@ -0,0 +1,47 @@
1
+ body {
2
+ background-color: #F5F8FF;
3
+ }
4
+
5
+ main.main {
6
+ margin-top: 1.5rem;
7
+ }
8
+
9
+ [v-cloak] {
10
+ display: none;
11
+ }
12
+
13
+ .app-footer {
14
+ background: none;
15
+ border: none;
16
+ color: #7e878c;
17
+ font-size: 13px;
18
+ margin-top: -1.5rem;
19
+ a {
20
+ color: $primary;
21
+ }
22
+ }
23
+
24
+ .hidden {
25
+ display: none;
26
+ }
27
+
28
+ .hidden-xs-up {
29
+ display: none;
30
+ }
31
+
32
+ .width-auto {
33
+ width: auto;
34
+ }
35
+
36
+ .breadcrumb {
37
+ display: none;
38
+ }
39
+
40
+ @media (min-width: 1200px) {
41
+ .container-xl {
42
+ margin-right: auto;
43
+ margin-left: auto;
44
+ width: 1140px;
45
+ max-width: 100%;
46
+ }
47
+ }
@@ -0,0 +1,111 @@
1
+ // Write (or import) your styles here
2
+ .trumbowyg-editor table.table td {
3
+ min-width: unset;
4
+ display: table-cell;
5
+ }
6
+
7
+ div.trumbowyg-button-pane {
8
+ background: #ffffff;
9
+ border-bottom: 1px solid $mutedText;
10
+ .trumbowyg-button-group::after {
11
+ background: rgba(0, 0, 0, 0);
12
+ }
13
+ }
14
+ div.trumbowyg-box {
15
+ border: 1px solid $mutedText;
16
+ &:after {
17
+ content: '';
18
+ background-size: contain;
19
+ background-repeat: no-repeat;
20
+ width: 18px;
21
+ height: 18px;
22
+ position: absolute;
23
+ right: 10px;
24
+ top: 45px;
25
+ background-position: center;
26
+ }
27
+ }
28
+
29
+ div.trumbowyg-modal-box {
30
+ .trumbowyg-modal-button {
31
+ border-radius: 4px;
32
+ &.trumbowyg-modal-submit {
33
+ background: $success;
34
+ &:hover, &:focus {
35
+ background: darken($success, 10);
36
+ }
37
+ &:before {
38
+ content: '\f00c';
39
+ font-family: FontAwesome;
40
+ padding-right: 5px;
41
+ font-size: 14px;
42
+ }
43
+ }
44
+ &.trumbowyg-modal-reset {
45
+ background: #fbfbfb;
46
+ &:hover, &:focus {
47
+ background: #e6e6e6;
48
+ }
49
+ &:before {
50
+ content: '\f00d';
51
+ font-family: FontAwesome;
52
+ padding-right: 5px;
53
+ font-size: 14px;
54
+ }
55
+ }
56
+
57
+ }
58
+ label {
59
+ overflow: visible;
60
+ .trumbowyg-input-infos span {
61
+ color: #555;
62
+ background: white;
63
+ border: none;
64
+ }
65
+ input {
66
+ border: 1px solid $mutedText;
67
+ &:hover, &:focus {
68
+ border: 1px solid $mutedText;
69
+ background: white;
70
+ }
71
+ &[type="file"] {
72
+ height: 38px;
73
+ padding-top: 2px;
74
+ padding-left: 2px;
75
+ }
76
+ }
77
+ }
78
+ .trumbowyg-modal-title {
79
+ background: white;
80
+ }
81
+
82
+ }
83
+
84
+ div.trumbowyg-dropdown button:hover, .trumbowyg-dropdown button:focus {
85
+ background: rgba(185, 200, 222, 0.18);
86
+ }
87
+
88
+ div.trumbowyg-dropdown-table table td.active {
89
+ background-color: $success;
90
+ }
91
+
92
+ .has-danger {
93
+ div.trumbowyg-box {
94
+ border: 1px solid $danger;
95
+ &:after {
96
+ background-image: $icon-error;
97
+ }
98
+ }
99
+ }
100
+
101
+ .has-success {
102
+ div.trumbowyg-box {
103
+ &:after {
104
+ background-image: $icon-correct;
105
+ }
106
+ }
107
+ }
108
+
109
+ .wysiwyg-noembed iframe {
110
+ pointer-events: none;
111
+ }
@@ -0,0 +1,26 @@
1
+ .v--modal-overlay {
2
+ z-index: 9999 !important;
3
+ background-color: rgba(0, 0, 0, .4) !important;
4
+ }
5
+
6
+ .v--modal-overlay .v--modal-box {
7
+ box-shadow: 0 2px 8px rgba(0, 0, 0, .33);
8
+ }
9
+
10
+ .modal--translation .v--modal-box {
11
+ padding: 20px 30px 30px 30px;
12
+ }
13
+
14
+ .modal-title {
15
+ margin-bottom: 20px;
16
+ text-align: center;
17
+ }
18
+
19
+ .modal-submit {
20
+ margin-top: 30px;
21
+ padding: 10px 0;
22
+ }
23
+
24
+ .loading .v--modal-overlay {
25
+ display: none;
26
+ }
@@ -0,0 +1,39 @@
1
+ .multiselect__tag-icon:after {
2
+ color: white !important;
3
+ }
4
+
5
+ .multiselect__tag-icon:focus,
6
+ .multiselect__tag-icon:hover {
7
+ background: darken($success, 10) !important;
8
+ }
9
+
10
+ .multiselect__tag {
11
+ background: $success !important;
12
+ }
13
+
14
+ .multiselect__tag-icon {
15
+ background: $success;
16
+ }
17
+
18
+ .multiselect__tags {
19
+ border-radius: 0 !important;
20
+ border-color: $mutedText !important;
21
+ }
22
+
23
+ .multiselect__option--highlight {
24
+ background: $success !important;
25
+ &:after {
26
+ background: $success !important;
27
+ }
28
+ }
29
+
30
+ .multiselect__input::placeholder {
31
+ color: $mutedText;
32
+ }
33
+
34
+ .multiselect__option--selected.multiselect__option--highlight {
35
+ background: $danger !important;
36
+ &:after {
37
+ background: $danger !important;
38
+ }
39
+ }
@@ -0,0 +1,87 @@
1
+ .header-fixed .app-header {
2
+ padding-right: 20px;
3
+ }
4
+
5
+ .nav .dropdown-menu {
6
+ border-radius: 0;
7
+ margin-top: 13px;
8
+ }
9
+
10
+ .dropdown-menu {
11
+ border: none;
12
+ box-shadow: 0 2px 8px rgba(0, 0, 0, .23);
13
+ }
14
+
15
+ .dropdown-header {
16
+ background: $primary;
17
+ color: white;
18
+ border-bottom: none;
19
+ }
20
+
21
+ .dropdown-item {
22
+ border-bottom: 1px solid #F0F2F4;
23
+ }
24
+
25
+ .dropdown-item.active,
26
+ .dropdown-item:active {
27
+ color: #263238;
28
+ text-decoration: none;
29
+ background-color: white;
30
+ }
31
+
32
+ .app-header.navbar .navbar-brand {
33
+ padding: 0.5rem 1rem;
34
+ color: #4273fa;
35
+ font-weight: 600;
36
+ display: inline;
37
+ width: auto;
38
+ height: auto;
39
+ margin-right: 1rem;
40
+ background: none !important;
41
+ border: none;
42
+ img {
43
+ max-width: 200px;
44
+ max-height: 20px;
45
+ }
46
+ }
47
+
48
+ .dropdown-toggle {
49
+ box-shadow: none !important;
50
+ &:hover {
51
+ cursor: pointer;
52
+ }
53
+ }
54
+
55
+ .dropdown .dropdown-menu {
56
+ display: block;
57
+ transition: all 300ms ease-in-out;
58
+ opacity: 0;
59
+ pointer-events: none;
60
+ transform: translateY(5px);
61
+ }
62
+
63
+ .open .dropdown-menu {
64
+ display: block;
65
+ opacity: 1;
66
+ pointer-events: all;
67
+ transform: translateY(-5px);
68
+ }
69
+
70
+ .app-header.navbar {
71
+ border-bottom: 1px solid #D6DEE3;
72
+ }
73
+
74
+ @media (max-width: 991px) {
75
+ .app-header .navbar-brand {
76
+ text-align: center;
77
+ }
78
+ .avatar-initials {
79
+ display: none;
80
+ }
81
+ }
82
+
83
+ @media (max-width: 600px) {
84
+ .app-header.navbar .navbar-brand {
85
+ display: none;
86
+ }
87
+ }
@@ -0,0 +1,7 @@
1
+ .notifications {
2
+ margin: 10px;
3
+ }
4
+
5
+ .vue-notification {
6
+ box-shadow: 0 0 12px #999;
7
+ }
@@ -0,0 +1,38 @@
1
+ .pagination {
2
+ margin-bottom: 28px;
3
+ }
4
+
5
+ .pagination-caption {
6
+ position: relative;
7
+ top: 6px;
8
+ display: inline-block;
9
+ margin-bottom: 30px;
10
+ }
11
+
12
+ .page-item.active .page-link,
13
+ .pagination-datatables li.active .page-link,
14
+ .pagination li.active .page-link,
15
+ .page-item.active .pagination-datatables li a,
16
+ .pagination-datatables li .page-item.active a,
17
+ .pagination-datatables li.active a,
18
+ .page-item.active .pagination li a,
19
+ .pagination li .page-item.active a,
20
+ .pagination li.active a {
21
+ background-color: $primary;
22
+ border-color: $primary;
23
+ &:hover {
24
+ color: white;
25
+ }
26
+ }
27
+
28
+ @media (max-width: 575px) {
29
+ .pagination-caption {
30
+ display: block;
31
+ text-align: center;
32
+ margin-bottom: 20px;
33
+ top: 0;
34
+ }
35
+ .pagination {
36
+ justify-content: center;
37
+ }
38
+ }
@@ -0,0 +1,23 @@
1
+ .switch-success .switch-input:checked + .switch-slider,
2
+ .switch-success > .switch-input:checked ~ .switch-label {
3
+ background: $success !important;
4
+ border-color: $success;
5
+ }
6
+
7
+ .switch-danger .switch-input:checked + .switch-slider,
8
+ .switch-danger > .switch-input:checked ~ .switch-label {
9
+ background: $danger !important;
10
+ border-color: $danger;
11
+ }
12
+
13
+ .switch-info .switch-input:checked + .switch-slider,
14
+ .switch-info > .switch-input:checked ~ .switch-label {
15
+ background: $primary !important;
16
+ border-color: $primary;
17
+ }
18
+
19
+ .switch-warning .switch-input:checked + .switch-slider,
20
+ .switch-warning > .switch-input:checked ~ .switch-label {
21
+ background: $warning !important;
22
+ border-color: $warning;
23
+ }
@@ -0,0 +1,64 @@
1
+ table th a:not([href]) {
2
+ cursor: pointer;
3
+ }
4
+
5
+ .table-hover tbody tr:hover {
6
+ background-color: #edf3fe;
7
+ }
8
+
9
+ .table-listing thead th {
10
+ border: none;
11
+ }
12
+
13
+ .table-listing thead tr {
14
+ border-bottom: 1px solid #f0f2f5;
15
+ border-top: 1px solid #dee3e7;
16
+ }
17
+
18
+ .table-listing td {
19
+ border-top: 1px solid #f0f2f5;
20
+ vertical-align: middle;
21
+ }
22
+
23
+ .table-listing .row.no-gutters .btn {
24
+ margin-right: 10px;
25
+ @media (max-width: 1319px) {
26
+ margin-bottom: 10px;
27
+ }
28
+ }
29
+
30
+ .table-listing td:last-of-type {
31
+ min-width: 95px;
32
+ display: flex;
33
+ justify-content: flex-end;
34
+ }
35
+
36
+ td > .switch {
37
+ top: 4px;
38
+ }
39
+
40
+ @media (max-width: 991px) {
41
+ .table-listing {
42
+ th,
43
+ td {
44
+ display: none;
45
+ }
46
+ tr {
47
+ display: flex;
48
+ flex-direction: row;
49
+ justify-content: space-between;
50
+ }
51
+ th:last-of-type,
52
+ td:last-of-type,
53
+ th:nth-of-type(2),
54
+ td:nth-of-type(2) {
55
+ display: flex;
56
+ }
57
+ td:last-of-type {
58
+ padding-right: 0;
59
+ }
60
+ }
61
+ td:nth-of-type(2) {
62
+ overflow: hidden;
63
+ }
64
+ }
@@ -0,0 +1,15 @@
1
+ .text-success {
2
+ color: $success !important;
3
+ }
4
+
5
+ .text-danger {
6
+ color: $danger !important;
7
+ }
8
+
9
+ .text-warning {
10
+ color: $warning !important;
11
+ }
12
+
13
+ .text-info {
14
+ color: $primary !important;
15
+ }
@@ -0,0 +1,62 @@
1
+ .ql-editor {
2
+ min-height: 200px;
3
+ padding-right: 2.2rem !important;
4
+ color: #3e515b;
5
+ &:after {
6
+ content: '';
7
+ background-size: contain;
8
+ background-repeat: no-repeat;
9
+ width: 18px;
10
+ height: 18px;
11
+ position: absolute;
12
+ right: 8px;
13
+ top: 10px;
14
+ background-position: center;
15
+ }
16
+ }
17
+
18
+ .ql-container .ql-editor.ql-blank::before {
19
+ font-style: normal;
20
+ font-size: 0.875rem;
21
+ line-height: 1.25;
22
+ color: #B2BDC5;
23
+ }
24
+
25
+ .quill-editor .ql-container.ql-snow {
26
+ border: 1px solid $mutedText;
27
+ }
28
+
29
+ .has-danger .quill-editor .ql-container.ql-snow {
30
+ border: 1px solid $danger;
31
+ }
32
+
33
+ .quill-editor .ql-toolbar.ql-snow {
34
+ border: 1px solid $mutedText;
35
+ border-bottom: 1px solid #E9EDF2;
36
+ }
37
+
38
+ .has-danger .quill-editor .ql-toolbar.ql-snow {
39
+ border: 1px solid $danger;
40
+ border-bottom: 1px solid #E9EDF2;
41
+ }
42
+
43
+ .ql-snow .ql-picker-label {
44
+ color: #C7C7C7;
45
+ }
46
+
47
+ .quill-editor .ql-snow .ql-stroke {
48
+ stroke: #C7C7C7;
49
+ }
50
+
51
+ .quill-editor .ql-snow .ql-fill,
52
+ .ql-snow .ql-stroke.ql-fill {
53
+ fill: #C7C7C7;
54
+ }
55
+
56
+ .has-success .ql-editor:after {
57
+ background-image: $icon-correct;
58
+ }
59
+
60
+ .has-danger .ql-editor:after {
61
+ background-image: $icon-error;
62
+ }
@@ -0,0 +1,92 @@
1
+ // Auth specific styles
2
+ .auth {
3
+ min-height: 100vh;
4
+ .auth-header {
5
+ border-bottom: 1px solid #F2F5F9;
6
+ padding: 30px;
7
+ }
8
+ .auth-body {
9
+ padding: 30px;
10
+ }
11
+ .auth-title {
12
+ text-transform: uppercase;
13
+ color: #333D5D;
14
+ font-size: 25px;
15
+ font-weight: bold;
16
+ margin-bottom: 15px;
17
+ }
18
+ .auth-subtitle {
19
+ text-transform: uppercase;
20
+ font-weight: bold;
21
+ color: #B9BBC6;
22
+ font-size: 12px;
23
+ letter-spacing: 0;
24
+ margin-bottom: 0;
25
+ }
26
+ .card-body,
27
+ .card-block {
28
+ padding: 0;
29
+ }
30
+ .form-group {
31
+ margin-bottom: 1.7rem;
32
+ &:last-of-type {
33
+ margin-bottom: 0;
34
+ }
35
+ }
36
+ label {
37
+ color: #9FA6B9;
38
+ text-transform: uppercase;
39
+ font-weight: bold;
40
+ }
41
+ .form-control {
42
+ border-radius: 4px;
43
+ padding: 1.3rem 0.75rem;
44
+ border-color: $mutedText;
45
+ height: 46px;
46
+ }
47
+ .input-group .form-control {
48
+ border: 1px solid $mutedText;
49
+ border-bottom-left-radius: 0;
50
+ border-top-left-radius: 0;
51
+ border-left: none;
52
+ }
53
+ .has-danger .input-group .form-control {
54
+ border-color: $danger;
55
+ }
56
+ .input-group-addon {
57
+ border-bottom-left-radius: 4px;
58
+ border-top-left-radius: 4px;
59
+ padding: 0.5rem 0.75rem;
60
+ margin-bottom: 0;
61
+ font-size: 0.875rem;
62
+ font-weight: normal;
63
+ line-height: 1.25;
64
+ color: #3e515b;
65
+ text-align: center;
66
+ border: 1px solid $mutedText;
67
+ border-radius: 0.25rem;
68
+ min-width: 40px;
69
+ white-space: nowrap;
70
+ vertical-align: middle;
71
+ border-right: 0;
72
+ border-top-right-radius: 0;
73
+ border-bottom-right-radius: 0;
74
+ }
75
+ .form-control-danger {
76
+ border: 1px solid $danger;
77
+ }
78
+ .form-control-feedback {
79
+ color: $danger;
80
+ font-weight: 500;
81
+ }
82
+ .btn-block {
83
+ padding: 1rem;
84
+ font-size: 16px;
85
+ }
86
+ .auth-ghost-link {
87
+ color: #9FA6B9;
88
+ }
89
+ .alert {
90
+ margin-bottom: 1.4rem;
91
+ }
92
+ }
@@ -0,0 +1 @@
1
+ // Write your project specific styles here
@@ -0,0 +1,5 @@
1
+ // Our own styles
2
+ @import "auth";
3
+ @import "others";
4
+ @import "custom";
5
+ @import "legacy";
@@ -0,0 +1,87 @@
1
+ .input-group-addon {
2
+ display: flex;
3
+ box-align: center;
4
+ align-items: center;
5
+ padding: 0.5rem 0.75rem;
6
+ margin-bottom: 0;
7
+ font-size: 0.875rem;
8
+ font-weight: 400;
9
+ line-height: 1.25;
10
+ color: #3e515b;
11
+ text-align: center;
12
+ border: 1px solid #c2cfd6;
13
+ min-width: 40px;
14
+ white-space: nowrap;
15
+ vertical-align: middle;
16
+ background-color: #fff;
17
+ border-bottom-left-radius: 0;
18
+ border-top-left-radius: 0;
19
+ &:last-child {
20
+ border-top-right-radius: 0;
21
+ border-bottom-right-radius: 0;
22
+ }
23
+ &:not(:last-child) {
24
+ border-right: 0;
25
+ }
26
+ }
27
+
28
+ .translation-listing .table td:last-of-type {
29
+ min-width: 0;
30
+ }
31
+
32
+ .card-block {
33
+ flex: 1 1 auto;
34
+ padding: 1.25rem;
35
+ }
36
+
37
+ .input-group .btn-group.input-group-btn {
38
+ display: flex;
39
+ margin-left: -1px;
40
+ white-space: nowrap;
41
+ vertical-align: middle;
42
+ & > .btn {
43
+ border-top-left-radius: 0;
44
+ border-bottom-left-radius: 0;
45
+ position: relative;
46
+ z-index: 2;
47
+ }
48
+ }
49
+
50
+ .switch {
51
+ .switch-label {
52
+ position: relative;
53
+ display: block;
54
+ height: inherit;
55
+ cursor: pointer;
56
+ border: 1px solid #c8ced3;
57
+ transition: 0.15s ease-out;
58
+ background-color: #f0f3f5;
59
+ border-radius: 50em;
60
+ width: 40px;
61
+ &:before {
62
+ position: absolute;
63
+ box-sizing: border-box;
64
+ content: '';
65
+ background-color: #fff;
66
+ transition: 0.15s ease-out;
67
+ top: -1px;
68
+ left: -1px;
69
+ width: 26px;
70
+ height: 26px;
71
+ border: 0;
72
+ border-radius: 50em;
73
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
74
+ transform: translateX(14px);
75
+ border-color: transparent;
76
+ }
77
+ }
78
+ .switch-handle {
79
+ display: none;
80
+ }
81
+ }
82
+
83
+ @media (max-width: 700px) {
84
+ .input-group button {
85
+ font-size: 0.875rem !important;
86
+ }
87
+ }