bullet_train-themes-custom 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/.bt-link +0 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +28 -0
  5. data/Rakefile +8 -0
  6. data/app/assets/config/bullet_train_themes_custom_manifest.js +0 -0
  7. data/app/assets/stylesheets/custom/actiontext.css +26 -0
  8. data/app/assets/stylesheets/custom/application.css +33 -0
  9. data/app/assets/stylesheets/custom/electron.css +46 -0
  10. data/app/assets/stylesheets/custom/fields/cloudinary_image.css +58 -0
  11. data/app/assets/stylesheets/custom/fields/date_field.css +19 -0
  12. data/app/assets/stylesheets/custom/fields/index.css +5 -0
  13. data/app/assets/stylesheets/custom/fields/phone_field.css +7 -0
  14. data/app/assets/stylesheets/custom/fields/super_select.css +103 -0
  15. data/app/assets/stylesheets/custom/fields/trix_editor.css +90 -0
  16. data/app/assets/stylesheets/custom/mailer.scss +359 -0
  17. data/app/assets/stylesheets/custom/tailwind/colors.css +100 -0
  18. data/app/assets/stylesheets/custom/tailwind/components.css +151 -0
  19. data/app/assets/stylesheets/custom/tailwind/dark-mode.css +218 -0
  20. data/app/assets/stylesheets/custom/tailwind/utilities.css +49 -0
  21. data/app/assets/stylesheets/custom/turn.css +44 -0
  22. data/app/assets/stylesheets/custom.tailwind.css +5 -0
  23. data/app/assets/stylesheets/tailwindcss/base.css +1 -0
  24. data/app/assets/stylesheets/tailwindcss/components.css +1 -0
  25. data/app/assets/stylesheets/tailwindcss/utilities.css +1 -0
  26. data/app/javascript/application.custom.js +0 -0
  27. data/app/views/themes/custom/_alert.html.erb +13 -0
  28. data/app/views/themes/custom/_box.html.erb +66 -0
  29. data/app/views/themes/custom/_breadcrumb.html.erb +23 -0
  30. data/app/views/themes/custom/_cell.html.erb +41 -0
  31. data/app/views/themes/custom/_decision_line.html.erb +12 -0
  32. data/app/views/themes/custom/_line.html.erb +3 -0
  33. data/app/views/themes/custom/_notices.html.erb +15 -0
  34. data/app/views/themes/custom/_page.html.erb +12 -0
  35. data/app/views/themes/custom/_title.html.erb +18 -0
  36. data/app/views/themes/custom/attributes/_base.html.erb +30 -0
  37. data/app/views/themes/custom/attributes/_block.html.erb +9 -0
  38. data/app/views/themes/custom/breadcrumbs/_actions.html.erb +22 -0
  39. data/app/views/themes/custom/commentary/_box.html.erb +13 -0
  40. data/app/views/themes/custom/conversations/_card.html.erb +21 -0
  41. data/app/views/themes/custom/conversations/_comment.html.erb +26 -0
  42. data/app/views/themes/custom/conversations/_message.html.erb +136 -0
  43. data/app/views/themes/custom/conversations/_thread_border.html.erb +3 -0
  44. data/app/views/themes/custom/fields/_field.html.erb +81 -0
  45. data/app/views/themes/custom/forms/_errors.html.erb +14 -0
  46. data/app/views/themes/custom/layouts/_account.html.erb +138 -0
  47. data/app/views/themes/custom/layouts/_devise.html.erb +11 -0
  48. data/app/views/themes/custom/layouts/_head.html.erb +8 -0
  49. data/app/views/themes/custom/layouts/_mailer.html.erb +429 -0
  50. data/app/views/themes/custom/memberships/_photos.html.erb +18 -0
  51. data/app/views/themes/custom/menu/_heading.html.erb +3 -0
  52. data/app/views/themes/custom/menu/_item.html.erb +16 -0
  53. data/app/views/themes/custom/menu/_section.html.erb +7 -0
  54. data/app/views/themes/custom/workflow/_box.html.erb +30 -0
  55. data/config/routes.rb +2 -0
  56. data/lib/bullet_train/themes/custom/engine.rb +12 -0
  57. data/lib/bullet_train/themes/custom/version.rb +7 -0
  58. data/lib/bullet_train/themes/custom.rb +16 -0
  59. data/lib/tasks/bullet_train/themes/custom_tasks.rake +53 -0
  60. data/tailwind.custom.config.js +80 -0
  61. metadata +132 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 25b033508ecd157ab5bcac355c4baa04cf72d6bee3acc011027a2eb3fa62f16d
4
+ data.tar.gz: d3a657da652428df4ab05ca872c3769e7966409b73e5132599c9c57ae995cb4d
5
+ SHA512:
6
+ metadata.gz: 304a9749108a14a3a267c434c06d5c4d79438497bb966e32bc0aa273d3691e1c997153df2e3cc92df6b06234980b0fbbdb5aa9e2b2ba9dfee942273b6c649da7
7
+ data.tar.gz: 4deb4edcdcc50813e18b221b717ed41ca0f4a61bb540d64dc7b3f53390da1b568c708d557eb47152821c8415ffe32f49a6b2226e69f5243f2683aba30553f495
data/.bt-link ADDED
File without changes
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2022 Bullet Train, Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # BulletTrain::Themes::Custom
2
+ Short description and motivation.
3
+
4
+ ## Usage
5
+ How to use my plugin.
6
+
7
+ ## Installation
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem "bullet_train-themes-custom"
12
+ ```
13
+
14
+ And then execute:
15
+ ```bash
16
+ $ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+ ```bash
21
+ $ gem install bullet_train-themes-custom
22
+ ```
23
+
24
+ ## Contributing
25
+ Contribution directions go here.
26
+
27
+ ## License
28
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require "bundler/setup"
2
+
3
+ APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
4
+ load "rails/tasks/engine.rake"
5
+
6
+ load "rails/tasks/statistics.rake"
7
+
8
+ require "bundler/gem_tasks"
@@ -0,0 +1,26 @@
1
+ .trix-content {
2
+ .attachment-gallery {
3
+ > action-text-attachment,
4
+ > .attachment {
5
+ flex: 1 0 33%;
6
+ padding: 0 0.5em;
7
+ max-width: 33%;
8
+ }
9
+
10
+ &.attachment-gallery--2,
11
+ &.attachment-gallery--4 {
12
+ > action-text-attachment,
13
+ > .attachment {
14
+ flex-basis: 50%;
15
+ max-width: 50%;
16
+ }
17
+ }
18
+ }
19
+
20
+ action-text-attachment {
21
+ .attachment {
22
+ padding: 0 !important;
23
+ max-width: 100% !important;
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,33 @@
1
+ @import "./tailwind/components";
2
+ @import "./tailwind/utilities";
3
+ @import "./tailwind/dark-mode";
4
+ @import "./tailwind/colors";
5
+
6
+ @import "./electron";
7
+ @import './fields';
8
+ @import './turn';
9
+
10
+ /* TODO there is probably a better way to do this. */
11
+ .hover-indent-child {
12
+ .indent-child {
13
+ transition: transform 0.2s ease;
14
+ }
15
+ &:hover {
16
+ .indent-child {
17
+ transform:translateX(8px);
18
+ }
19
+ }
20
+ }
21
+
22
+ form.button_to {
23
+ @apply inline-block;
24
+ input[type=submit] {
25
+ @apply bg-transparent;
26
+ &.button {
27
+ @apply bg-primary-500 hover:bg-primary-600;
28
+ }
29
+ }
30
+ }
31
+
32
+ /* hide the first breadcrumb chevron */
33
+ ol.breadcrumb li:first-child svg { display: none; }
@@ -0,0 +1,46 @@
1
+ /* Import Electron utilities shared across all Tailwind-based themes. */
2
+ /* @import "../tailwind/electron.scss"; */
3
+
4
+ .electron, .todesktop {
5
+
6
+ a {
7
+ outline-color: var(--tw-ring-color);
8
+ --tw-ring-color: rgba(3, 98, 198, var(--tw-ring-opacity));
9
+ --tw-ring-opacity: 1;
10
+ }
11
+
12
+ .electron-mobile-only {
13
+ @apply block lg:hidden;
14
+ }
15
+
16
+ .electron-title-bar {
17
+ /* override `md:rounded-lg` */
18
+ border-top-left-radius: 0;
19
+
20
+ /* hide logo because it doesn't fit into the ui well. */
21
+ img { display: none; }
22
+
23
+ min-height: 36px;
24
+ }
25
+
26
+ .main-container-padding {
27
+ padding: 0;
28
+ }
29
+
30
+ .main-container {
31
+ /* override `md:rounded-lg` */
32
+ border-top-right-radius: 0;
33
+ border-top-left-radius: 0;
34
+ border-bottom-right-radius: 0;
35
+ border-bottom-left-radius: 0;
36
+
37
+ /* override `md:h-auto` */
38
+ height: 100vh;
39
+ }
40
+
41
+ /* hide profiler results because they don't fit into the ui well. */
42
+ .profiler-results { display: none; }
43
+
44
+ /* touch up the padding of the breadcrumbs. */
45
+ ol.breadcrumb { padding-top: 3px; }
46
+ }
@@ -0,0 +1,58 @@
1
+ .cloudinary-field {
2
+ button.upload {
3
+ margin: 0;
4
+ border-radius: 4px;
5
+ padding: 0;
6
+ border: 2px solid #dde2ec;
7
+ background: transparent;
8
+ position: relative;
9
+ min-height: 50px;
10
+ min-width: 50px;
11
+ &:not(.present) {
12
+ min-height: 100px;
13
+ min-width: 100px;
14
+ }
15
+ i {
16
+ display: block;
17
+ text-align: center;
18
+ vertical-align: middle;
19
+ position: absolute;
20
+ line-height: 50px;
21
+ width: 50px;
22
+ height: 50px;
23
+ margin-left: -25px;
24
+ margin-top: -25px;
25
+ top: 50%;
26
+ left: 50%;
27
+ font-size: 32px;
28
+ color: #dde2ec;
29
+ }
30
+ & + button.clear {
31
+ display: none;
32
+ font-size: 32px;
33
+ color: #dde2ec;
34
+ background: transparent;
35
+ border: 0;
36
+ vertical-align: -7px;
37
+ &:focus, &:active {
38
+ i {
39
+ color: var(--primary-500);
40
+ }
41
+ }
42
+ }
43
+ &.present {
44
+ i {
45
+ display: none;
46
+ }
47
+ & + button.clear {
48
+ display: inline;
49
+ }
50
+ }
51
+ &:focus, &:active {
52
+ border-color: var(--primary-500);
53
+ i {
54
+ color: var(--primary-500);
55
+ }
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,19 @@
1
+ @layer components {
2
+ .date-input {
3
+ .single-daterange {
4
+ @apply rounded-md shadow-sm focus:ring-primary-500 focus:border-primary-500 font-light text-sm;
5
+ }
6
+ }
7
+
8
+ .daterangepicker {
9
+ .hourselect, .minuteselect, .ampmselect {
10
+ @apply rounded-md shadow-sm focus:ring-primary-500 font-light;
11
+ @apply border-gray-300 focus:border-primary-500 bg-white !important;
12
+ text-align-last: center;
13
+ }
14
+
15
+ .calendar-table .active {
16
+ @apply bg-primary-500 !important;
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,5 @@
1
+ @import './cloudinary_image';
2
+ @import './date_field';
3
+ @import './phone_field';
4
+ @import './super_select';
5
+ @import './trix_editor';
@@ -0,0 +1,7 @@
1
+ input[type=tel] {
2
+ line-height: 21px;
3
+
4
+ &::placeholder {
5
+ color: #9ca3af;
6
+ }
7
+ }
@@ -0,0 +1,103 @@
1
+ .select2-container--default {
2
+ .select2-selection--single,
3
+ .select2-selection--multiple {
4
+ @apply border-gray-300;
5
+ }
6
+ }
7
+
8
+ .select2-selection.select2-selection--single {
9
+ min-height: 37px;
10
+ .select2-selection__rendered {
11
+ padding-left: 12px;
12
+ min-height: 34px;
13
+ line-height: 34px;
14
+ }
15
+ .select2-selection__arrow {
16
+ padding-top: 35px;
17
+ }
18
+ }
19
+
20
+ .select2-container .select2-search--inline .select2-search__field {
21
+ font-weight: 300;
22
+ margin-top: 6px;
23
+ }
24
+
25
+ .select2 {
26
+ display: block;
27
+ img {
28
+ display: none;
29
+ }
30
+ }
31
+
32
+ .select2-results {
33
+ img {
34
+ height: 30px;
35
+ width: 30px;
36
+ border-radius: 15px;
37
+ margin-right: 8px;
38
+ }
39
+ }
40
+
41
+ @layer components {
42
+ .select2-container {
43
+ @apply w-full;
44
+ }
45
+
46
+ .select2-border {
47
+ @apply border-primary-500 !important;
48
+ box-shadow: inset 0 0 0 1px var(--primary-500) !important;
49
+ outline: 0 !important;
50
+ }
51
+
52
+ .select2-selection--single, .select2-selection--multiple {
53
+ @apply border-gray-300;
54
+ @apply rounded-md shadow-sm pt-0 focus:ring-primary-500 !important;
55
+ height: 38px !important;
56
+
57
+ &.focus-visible {
58
+ @extend .select2-border;
59
+ }
60
+
61
+ &:focus {
62
+ outline: 0 !important;
63
+ }
64
+
65
+ .select2-selection__arrow {
66
+ height: 34px !important;
67
+ }
68
+
69
+ .select2-selection__rendered {
70
+ @apply text-gray-500 pl-3 !important;
71
+ line-height: 35px !important;
72
+ }
73
+ }
74
+
75
+ .select2-selection--multiple .select2-selection__choice {
76
+ margin-top: 6px !important;
77
+ line-height: 22px !important;
78
+ }
79
+
80
+ .select2-container--open, .select2-container--focus {
81
+ .select2-selection--single, .select2-selection--multiple {
82
+ @extend .select2-border;
83
+ }
84
+ }
85
+
86
+ .select2-container .select2-dropdown {
87
+ @apply border-2 border-gray-300 shadow-sm overflow-hidden !important;
88
+ border-color: #5897fb !important;
89
+ }
90
+
91
+ .select2-container--default .select2-results__option[aria-selected=true] {
92
+ @apply text-white bg-primary-500 !important;
93
+ }
94
+
95
+ .select2-search__field {
96
+ @apply rounded-md;
97
+ @apply border-gray-300 !important;
98
+
99
+ &:focus {
100
+ border-color: #5897fb !important;
101
+ }
102
+ }
103
+ }
@@ -0,0 +1,90 @@
1
+ @import "../actiontext";
2
+
3
+ /* don't show the editor tool bar unless the user is editing the field. */
4
+ /* see https://github.com/basecamp/trix/issues/343 and `app/assets/javascripts/account/fields.js` */
5
+ trix-toolbar {
6
+ opacity: 0.15;
7
+ &.visible {
8
+ opacity: 1;
9
+ }
10
+ }
11
+
12
+ a[href^="bullettrain://"], span.tribute-reference {
13
+ border-radius: 4px;
14
+ display: inline-block;
15
+ box-sizing: border-box;
16
+ padding: 0 4px;
17
+ margin: -1px 0;
18
+ color: #3E4B5B;
19
+ line-height: 17px;
20
+ text-decoration: none;
21
+ background-color: #ebe2ff;
22
+ border: 1px solid #7147d2;
23
+ }
24
+
25
+ a[href^="bullettrain://users"], a[href^="bullettrain://teams"], span.tribute-users-reference, span.tribute-teams-reference {
26
+ background-color: #e2ebff;
27
+ border: 1px solid #4771d2;
28
+ }
29
+
30
+ .tribute-container {
31
+ ul {
32
+ border-radius: 5px;
33
+ overflow: hidden;
34
+ box-sizing: border-box;
35
+ border: 2px solid var(--primary-500);
36
+ background: white;
37
+ list-style: none;
38
+ padding: 0;
39
+ &:empty {
40
+ display: none;
41
+ }
42
+ li {
43
+ @apply flex items-center;
44
+
45
+ span {
46
+ font-weight: normal;
47
+ }
48
+ &.highlight {
49
+ background-color: #5897fb;
50
+ color: white;
51
+ }
52
+ padding: 5px 10px;
53
+ img {
54
+ height: 30px;
55
+ width: 30px;
56
+ border-radius: 15px;
57
+ margin-right: 5px;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ trix-editor [data-trix-cursor-target] {
64
+ display: none !important;
65
+ height: 0 !important;
66
+ width: 0 !important;
67
+ /* background-color: red; */
68
+ }
69
+
70
+ .trix-editor {
71
+ * {
72
+ box-sizing: border-box;
73
+ }
74
+ }
75
+
76
+ trix-editor {
77
+ padding-right: 0.75rem;
78
+ padding-left: 0.75rem;
79
+ @apply shadow-sm border-gray-300 font-light rounded-md;
80
+ &:focus, &:active {
81
+ border-color: var(--primary-500);
82
+ box-shadow: inset 0 0 0 1px var(--primary-500);
83
+ }
84
+ }
85
+
86
+ .trix-hide-toolbar {
87
+ trix-toolbar {
88
+ display: none !important;
89
+ }
90
+ }