nfg_ui 0.10.14 → 0.11.1.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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -2
  3. data/Rakefile +28 -2
  4. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/application.scss +9 -23
  5. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_badge.scss +0 -0
  6. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_buttons.scss +0 -0
  7. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_custom-forms.scss +0 -0
  8. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_custom.scss +0 -0
  9. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_forms.scss +0 -0
  10. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_nav.scss +18 -0
  11. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_pagination.scss +0 -0
  12. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_progress.scss +0 -0
  13. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_reboot.scss +0 -0
  14. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_type.scss +0 -0
  15. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/_utilities.scss +0 -0
  16. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/custom/_icons.scss +0 -0
  17. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations/nfg_theme}/custom/_nav_step.scss +0 -0
  18. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations}/plugins/_datetimepicker.scss +0 -0
  19. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/{nfg_theme/color_variations → color_variations}/plugins/_select2.scss +0 -0
  20. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_custom.scss +1 -9
  21. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_nav.scss +0 -38
  22. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_tile.scss +2 -61
  23. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_video_countdown.scss +47 -0
  24. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/_variables.scss +24 -26
  25. data/app/assets/stylesheets/nfg_ui/network_for_good/core/application.scss +24 -0
  26. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/application.scss +4 -4
  27. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_badge.scss +0 -0
  28. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_buttons.scss +2 -2
  29. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_custom-forms.scss +0 -0
  30. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_custom.scss +0 -0
  31. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_forms.scss +0 -0
  32. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_functions.scss +0 -0
  33. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_nav.scss +2 -4
  34. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_navbar.scss +0 -0
  35. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_reboot.scss +0 -0
  36. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_type.scss +0 -0
  37. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/_utilities.scss +0 -0
  38. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/custom/_everyday_default.scss +0 -0
  39. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/nfg_theme/custom/_nav_step.scss +0 -0
  40. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/plugins/_datetimepicker.scss +0 -0
  41. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/entity_branding/plugins/_select2.scss +0 -0
  42. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/_variables.scss +0 -0
  43. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/application.scss +0 -0
  44. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_breadcrumb.scss +0 -0
  45. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_button-group.scss +0 -0
  46. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_card.scss +0 -0
  47. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_carousel.scss +0 -0
  48. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_custom-forms.scss +0 -0
  49. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_custom.scss +1 -0
  50. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_forms.scss +0 -0
  51. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_grid.scss +0 -0
  52. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_input-group.scss +0 -0
  53. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_list-group.scss +0 -0
  54. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_media.scss +0 -0
  55. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_mixins.scss +0 -0
  56. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_modal.scss +0 -0
  57. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_nav.scss +0 -0
  58. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_navbar.scss +0 -0
  59. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_pagination.scss +0 -0
  60. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_progress.scss +0 -0
  61. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/_utilities.scss +0 -0
  62. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/custom/_avatar.scss +0 -0
  63. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/custom/_everyday_giving.scss +0 -0
  64. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/custom/_nav_step.scss +0 -0
  65. data/app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_slat.scss +64 -0
  66. data/app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_video_countdown.scss +5 -0
  67. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/mixins/_breakpoints.scss +0 -0
  68. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/mixins/_grid-framework.scss +0 -0
  69. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/mixins/_grid.scss +0 -0
  70. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/utilities/_display.scss +0 -0
  71. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/nfg_theme/utilities/_flex.scss +0 -0
  72. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/legacy_browser_support/plugins/_sticky_div.scss +0 -0
  73. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_alert.scss +0 -0
  74. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_button-group.scss +0 -0
  75. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_buttons.scss +1 -1
  76. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_card.scss +3 -5
  77. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_custom-forms.scss +0 -0
  78. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_custom.scss +11 -0
  79. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_dropdown.scss +0 -0
  80. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_forms.scss +0 -0
  81. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_nav.scss +26 -0
  82. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/nfg_theme/_progress.scss +0 -0
  83. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_reboot.scss +0 -0
  84. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_tooltip.scss +0 -0
  85. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/_type.scss +0 -0
  86. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_avatar.scss +0 -0
  87. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_device_preview.scss +0 -0
  88. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_illustration.scss +0 -0
  89. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_mobile.scss +0 -0
  90. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_nav_step.scss +0 -0
  91. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_redactor.scss +0 -0
  92. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_slat.scss +142 -0
  93. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/nfg_theme/custom/_social_share.scss +2 -0
  94. data/app/assets/stylesheets/nfg_ui/network_for_good/{admin → core}/nfg_theme/custom/_ticket.scss +0 -0
  95. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/nfg_theme/custom/_tile.scss +1 -2
  96. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_datepicker.scss +0 -0
  97. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_datetimepicker.scss +0 -0
  98. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_intercom.scss +0 -0
  99. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_select2.scss +0 -0
  100. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_sticky_div.scss +0 -0
  101. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_turbolinks.scss +0 -0
  102. data/app/assets/stylesheets/nfg_ui/network_for_good/{public → core}/plugins/_twitter_typeahead.scss +0 -0
  103. data/app/assets/stylesheets/nfg_ui/network_for_good/public/application.scss +3 -20
  104. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_custom.scss +1 -8
  105. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_nav.scss +3 -38
  106. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/{custom/_user_navbar.scss → _navbar.scss} +2 -2
  107. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_background_variations.scss +1 -0
  108. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/{_event.scss → custom/_event.scss} +0 -0
  109. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_everyday_story.scss +1 -1
  110. data/lib/nfg_ui.rb +0 -1
  111. data/lib/nfg_ui/components/elements/avatar.rb +1 -1
  112. data/lib/nfg_ui/components/elements/slat_item.rb +13 -8
  113. data/lib/nfg_ui/components/patterns/slat_actions.rb +9 -35
  114. data/lib/nfg_ui/components/patterns/slats.rb +60 -0
  115. data/lib/nfg_ui/components/traits.rb +1 -0
  116. data/lib/nfg_ui/components/traits/slats.rb +26 -0
  117. data/lib/nfg_ui/version.rb +1 -1
  118. metadata +103 -117
  119. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/_variables.scss +0 -1125
  120. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_progress.scss +0 -3
  121. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/color_variations/_nav.scss +0 -9
  122. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/color_variations/_plugins.scss +0 -3
  123. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_slat.scss +0 -112
  124. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_social_share.scss +0 -44
  125. data/app/assets/stylesheets/nfg_ui/network_for_good/public/legacy_browser_support/nfg_theme/custom/_slat.scss +0 -66
  126. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_alert.scss +0 -2
  127. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_button-group.scss +0 -22
  128. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_buttons.scss +0 -17
  129. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_card.scss +0 -6
  130. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_custom-forms.scss +0 -156
  131. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_dropdown.scss +0 -1
  132. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_forms.scss +0 -85
  133. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_reboot.scss +0 -34
  134. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_tooltip.scss +0 -5
  135. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/_type.scss +0 -81
  136. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_avatar.scss +0 -54
  137. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_illustration.scss +0 -7
  138. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_nav_step.scss +0 -111
  139. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_slat.scss +0 -110
  140. data/app/assets/stylesheets/nfg_ui/network_for_good/public/nfg_theme/custom/_ticket.scss +0 -12
  141. data/lib/nfg_ui/components/patterns/slat_list.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 326429d794dd048a39b07ca0c69cf32a04670cf6f85edad997fe4203a599a4ab
4
- data.tar.gz: 30f6d39d690d0c1cd224200da593c9d42e442306711d48e3acdf1670cf6d8b88
3
+ metadata.gz: 8bc017d5a81c3926327ac75c767e0cde2cdae7211196bb89a899d470ecbb8cfd
4
+ data.tar.gz: b564ed6b16d1f4da190820e2a2a51c1d60da2e043f09a387531e1112fc324934
5
5
  SHA512:
6
- metadata.gz: 939dbad1b0ee9a49f3534a57446446badfbfc6911308385fe91a8ca4c25c9323ccfb41efcb5579f3473f9878aff35a7b6bfd69a32efd929e02ea0aeab26042f1
7
- data.tar.gz: c0406df48ae024663da660865e22ebd43a7fba19e10ff8b8b19f1176d028011d5a87d67134acdf262a3d06729e488e50503c1610851e2fe0a22d771548ca2e4c
6
+ metadata.gz: 9979834c6158efd88b2bd119c5e18524e132c89c6f0433f160c7cd83b8d7d89dab6e5090e23d86124b783dd33d1e493b7c761dee9c1a0cf9e7f78e088a9ffc2e
7
+ data.tar.gz: c61540d24df35fb261976508c61b7e1ab0d8188cdae2055dda8f8a6f630e588ec181bb51b8580514745b2bfba99a8e6d22a6fa5e59eac4af44ab938c66417719
data/README.md CHANGED
@@ -88,6 +88,46 @@ Examples:
88
88
  = ui.nfg :icon, 'trash', class: 'mr-1', text: 'Delete Row'
89
89
  ```
90
90
 
91
+ ## Asset publishing
92
+
93
+ ### Depedency Installation
94
+
95
+ NFG UI assets are published for cross-site usage to a publicly-accessible AWS S3 bucket (`s3://nfg-ui/v#.##.#/`) using the AWS command-line interface:
96
+
97
+ 1. [Install the AWS command-line interface](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html#cliv2-mac-install-gui)
98
+ 2. Install AWS credentials provided by anyone on the team who has permissions to mint IAM users (such as Mike or Timothy). The credentials are sensitive and should be stored at `~/.aws/credentials`. See example below.
99
+ 3. (Optional but recommended) Install `~/.aws/config` per below to set a default region for S3 operations.
100
+
101
+ ```
102
+ # Example ~/.aws/credentials file
103
+
104
+ [default]
105
+ aws_access_key_id = ####################
106
+ aws_secret_access_key = ########################################
107
+
108
+ # Example ~/.aws/config
109
+ [default]
110
+ region = us-east-1
111
+ ```
112
+
113
+ 4. Use the following command to confirm successful installation:
114
+
115
+ ```
116
+ aws s3 ls --recursive s3://nfg-ui/
117
+ ```
118
+
119
+ ### Workflow
120
+
121
+ After `rake release` successfully completes, the `rake publish` task will run. This command wraps a separate `rake publish` task contained within the `/publisher` subdirectory.
122
+ `/publisher` contains a skeleton Rails app. The `rake publish` task contained within `/publisher` precompiles the assets that are part of the new `nfg_ui` release and uploads them to S3.
123
+
124
+ If necessary, `rake publish` can be invoked from within the `nfg_ui` parent directory, separately:
125
+
126
+ ```
127
+ rake publish # upload assets to S3; fails if files are already exist for the release
128
+ rake publish[override] # uploads assets to S3 without checking for existing files
129
+ ```
130
+
91
131
  #### Trait details
92
132
  Traits are designed to allow you to speedily build components, or pre-design complex components using meaningful symbols.
93
133
 
@@ -190,7 +230,6 @@ Groupings of elements to create rich interfaces. For example, an `:activity_feed
190
230
  * `:media`
191
231
  * `:modal`
192
232
  * `:navbar`
193
- * `:slat_list`
194
233
  * `:task_list`
195
234
  * *Tiles*
196
235
  * `:tile`
@@ -425,7 +464,6 @@ FOUNDATION_COMPONENT_NAMES = %i[color
425
464
  navbar
426
465
  navbar_nav
427
466
  page_header
428
- slat_list [tooltip]
429
467
  tab_content
430
468
  task_list
431
469
  tile [icon, tooltip]
data/Rakefile CHANGED
@@ -15,9 +15,35 @@ RDoc::Task.new(:rdoc) do |rdoc|
15
15
  end
16
16
 
17
17
  APP_RAKEFILE = File.expand_path("spec/test_app/Rakefile", __dir__)
18
- load 'rails/tasks/engine.rake'
19
-
20
18
 
19
+ load 'rails/tasks/engine.rake'
21
20
  load 'rails/tasks/statistics.rake'
22
21
 
23
22
  require 'bundler/gem_tasks'
23
+
24
+ desc <<~DESC
25
+ Publish precompiled assets to s3://nfg-ui. This task is automatically invoked after successful "rake release" and normally it should not be called directly.
26
+ Requires installation of AWS CLI: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html
27
+ Please see additional instructions in README.md.
28
+ DESC
29
+ task :publish, %i[override_flag] do |_, override_flag: nil|
30
+ require 'fileutils'
31
+
32
+ version = Bundler.load_gemspec("#{__dir__}/nfg_ui.gemspec").version
33
+ puts "Compiling and publishing NFG UI v#{version} assets"
34
+
35
+ subtask_args = version.to_s
36
+ subtask_args << ",#{override_flag}" if override_flag
37
+
38
+ Dir.chdir("#{__dir__}/publisher") do
39
+ Bundler.with_clean_env do
40
+ sh "RAILS_ENV=production bundle exec rake publish[#{subtask_args}]" do |ok, _|
41
+ puts 'unable to publish assets' unless ok
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ Rake::Task['release'].enhance do
48
+ Rake::Task['publish'].invoke # runs :publish task after successful release
49
+ end
@@ -1,30 +1,16 @@
1
1
  //** Admin Styles **//
2
2
 
3
- // App Vendors
4
- @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,700);
5
- @import 'font-awesome';
6
- @import 'select2';
3
+ // Core Styles
4
+ @import 'nfg_ui/network_for_good/core/application';
7
5
 
8
- // Our Variables
9
- @import 'variables';
10
-
11
- // Bootstrap Vendor Base
12
- @import 'bootstrap';
13
-
14
- // NFG Theme
6
+ // Customization and Overrides
15
7
  @import 'nfg_theme/*';
16
8
 
17
9
  // Plugins
18
- @import 'nfg_ui/network_for_good/public/plugins/datepicker';
19
- @import 'nfg_ui/network_for_good/public/plugins/datetimepicker';
20
- @import 'nfg_ui/network_for_good/public/plugins/intercom'; // only in admin layouts
21
- @import 'nfg_ui/network_for_good/public/plugins/select2';
22
- @import 'nfg_ui/network_for_good/public/plugins/sticky_div';
23
- @import 'nfg_ui/network_for_good/public/plugins/turbolinks';
24
- @import 'nfg_ui/network_for_good/public/plugins/twitter_typeahead';
25
-
26
- // Legacy browser support
27
- @import 'nfg_ui/network_for_good/public/legacy_browser_support/application';
10
+ @import 'nfg_ui/network_for_good/core/plugins/intercom';
11
+ @import 'nfg_ui/network_for_good/core/plugins/turbolinks';
12
+ @import 'nfg_ui/network_for_good/core/plugins/twitter_typeahead';
28
13
 
29
- // Color variations
30
- @import 'nfg_theme/color_variations/*';
14
+ // Color Variations - has to be inside admin directory for variables to work properly
15
+ @import 'color_variations/nfg_theme/*';
16
+ @import 'color_variations/plugins/*';
@@ -0,0 +1,18 @@
1
+ @each $color, $value in $colors {
2
+ .#{$color} {
3
+ .nav-tabs {
4
+ .nav-link {
5
+ &:hover, &.active { border-color: $value; }
6
+ }
7
+ }
8
+ }
9
+
10
+ // Color variations for border in main nav in DM
11
+ .site-nav {
12
+ .nav-item.#{$color} {
13
+ .nav-link {
14
+ &:hover, &.active, &[aria-expanded="true"] { border-color: $value; }
15
+ }
16
+ }
17
+ }
18
+ }
@@ -1,25 +1,17 @@
1
1
  // Our custom styles
2
- @import 'custom/avatar';
3
2
  @import 'custom/builder_layout';
4
3
  @import 'custom/campaign_card';
5
4
  @import 'custom/campaign_preview';
6
5
  @import 'custom/content_section_buttons';
7
6
  @import 'custom/custom_questions_questionnaire';
8
7
  @import 'custom/custom_receipt_language';
9
- @import 'custom/device_preview';
10
8
  @import 'custom/email_preview';
11
9
  @import 'custom/free_trial';
12
10
  @import 'custom/icomoon';
13
- @import 'custom/illustration';
14
11
  @import 'custom/interaction';
15
- @import 'custom/mobile';
16
- @import 'custom/nav_step';
17
12
  @import 'custom/overlay_blocker';
18
13
  @import 'custom/page_header';
19
- @import 'custom/redactor';
20
14
  @import 'custom/share_dropdown';
21
- @import 'custom/social_share';
22
- @import 'custom/slat';
23
15
  @import 'custom/status_indicator';
24
- @import 'custom/ticket';
25
16
  @import 'custom/tile';
17
+ @import 'custom/video_countdown';
@@ -1,30 +1,3 @@
1
- //
2
- // Tabs
3
- //
4
- .nav-tabs {
5
- border-width: $border-width;
6
-
7
- .nav-item {
8
- margin-bottom: -$border-width;
9
- font-weight: $font-weight-bold;
10
- font-size: $font-size-base;
11
- }
12
-
13
- .nav-link {
14
- color: $text-muted !important;
15
- border: none;
16
- border-bottom: $nav-tabs-border-width solid transparent;
17
- @include hover-focus {
18
- color: $nav-tabs-link-active-color !important;
19
- border-color: $nav-tabs-link-hover-border-color;
20
- }
21
- }
22
- .nav-link.active,
23
- .nav-item.show .nav-link {
24
- color: $nav-tabs-link-active-color !important;
25
- }
26
- }
27
-
28
1
  // Top navigation bar in DMS
29
2
  .site-nav {
30
3
  position: fixed;
@@ -95,14 +68,3 @@
95
68
  }
96
69
  }
97
70
  }
98
-
99
- // Color variations for border
100
- @each $color in $colors {
101
- .site-nav {
102
- .nav-item.#{nth($color, 1)} {
103
- .nav-link {
104
- &:hover, &.active, &[aria-expanded="true"] { border-color: nth($color, 2); }
105
- }
106
- }
107
- }
108
- }
@@ -3,69 +3,10 @@
3
3
  //
4
4
 
5
5
  .tile {
6
- display: block;
7
- margin-right: auto;
8
- margin-left: auto;
9
- word-wrap: break-word;
10
- background-color: $white;
11
- border-top: $border-width solid $border-color;
12
- border-bottom: $border-width solid $border-color;
13
6
  @include media-breakpoint-down(sm) {
14
7
  margin-right: -($grid-gutter-width / 2);
15
8
  margin-left: -($grid-gutter-width / 2);
9
+ border-right: none;
10
+ border-left: none;
16
11
  }
17
- @include media-breakpoint-up(sm) {
18
- border-right: $border-width solid $border-color;
19
- border-left: $border-width solid $border-color;
20
- }
21
- + .tile { margin-top: $spacer; }
22
- }
23
-
24
- .tile-body {
25
- padding: $grid-gutter-width;
26
- @include media-breakpoint-up(sm) { padding: ($grid-gutter-width * 1.5); }
27
- }
28
-
29
- // Sections within a tile used to separate groups of content
30
- .tile-section {
31
- display: block;
32
- margin-right: auto;
33
- margin-left: auto;
34
- @include media-breakpoint-down(sm) { padding-bottom: $grid-gutter-width; }
35
- @include media-breakpoint-up(sm) { padding-bottom: ($grid-gutter-width * 1.5); }
36
- &:last-child { padding-bottom: 0; }
37
- + .tile-section {
38
- border-top: $border-width solid $border-color;
39
- @include media-breakpoint-down(sm) { padding-top: $grid-gutter-width; }
40
- @include media-breakpoint-up(sm) { padding-top: ($grid-gutter-width * 1.5); }
41
- }
42
- }
43
-
44
- //
45
- // Optional textual caps
46
- //
47
-
48
- .tile-header, .tile-footer {
49
- padding: ($grid-gutter-width / 2) $grid-gutter-width;
50
- background-color: $white;
51
- @include media-breakpoint-up(sm) { padding: $grid-gutter-width; }
52
- }
53
- .tile-header {
54
- + .collapse,
55
- + .collapsing,
56
- + .tile-body,
57
- + .tile-footer { border-top: $border-width solid $border-color; }
58
12
  }
59
- .tile-body + .tile-footer { border-top: $border-width solid $border-color; }
60
-
61
- //
62
- // Header navs
63
- //
64
-
65
- .tile-header-tabs {
66
- margin-right: -$grid-gutter-width;
67
- margin-bottom: -($grid-gutter-width / 2);
68
- margin-left: -$grid-gutter-width;
69
- border-bottom: 0;
70
- @include media-breakpoint-up(sm) { margin-bottom: -$grid-gutter-width; }
71
- }
@@ -0,0 +1,47 @@
1
+ .video-container {
2
+ video { z-index: 10; }
3
+ }
4
+
5
+ // Animation timing
6
+ $anim: 6s;
7
+ @keyframes time {
8
+ 0%, 10%, 100% {
9
+ opacity: 0;
10
+ transform: scale(1);
11
+ }
12
+ 5% {
13
+ opacity: 0.8;
14
+ transform: scale(1.2);
15
+ }
16
+ }
17
+
18
+ .countdown {
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ position: absolute;
23
+ top: 0;
24
+ right: 0;
25
+ bottom: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ visibility: hidden;
29
+ text-align: center;
30
+ z-index: 20;
31
+ span {
32
+ position: absolute;
33
+ font-size: ($spacer * 5);
34
+ font-weight: bold;
35
+ color: $white;
36
+ opacity: 0;
37
+ }
38
+ &.play {
39
+ visibility: visible;
40
+ @for $i from 0 through 3 {
41
+ .num#{$i} {
42
+ animation: time $anim;
43
+ animation-delay: (3-$i)+s;
44
+ }
45
+ }
46
+ }
47
+ }
@@ -66,7 +66,7 @@ $teal: #60c6cf; // legacy color -- not used in our theme
66
66
  // $colors
67
67
  // );
68
68
 
69
- $primary: $blue !default;
69
+ $primary: $blue !default; // need !default for $primary to work properly (override) in entity_branding
70
70
  // $secondary: $gray-600 !default;
71
71
  $success: $green;
72
72
  $info: $blue;
@@ -75,7 +75,6 @@ $danger: $red;
75
75
  // $light: $gray-100 !default;
76
76
  // $dark: $gray-800 !default;
77
77
 
78
-
79
78
  // $theme-colors: () !default;
80
79
  // stylelint-disable-next-line scss/dollar-variable-default
81
80
  // $theme-colors: map-merge(
@@ -233,9 +232,9 @@ $line-height-sm: 1;
233
232
  $border-width: 1px;
234
233
  $border-color: $gray-300;
235
234
 
236
- $border-radius: .6rem;
237
- $border-radius-lg: .6rem;
238
- $border-radius-sm: .6rem;
235
+ $border-radius: .3rem;
236
+ $border-radius-lg: .3rem;
237
+ $border-radius-sm: .3rem;
239
238
 
240
239
  // $rounded-pill: 50rem !default;
241
240
 
@@ -254,7 +253,7 @@ $component-active-bg: $primary;
254
253
  // $transition-fade: opacity .15s linear !default;
255
254
  // $transition-collapse: height .35s ease !default;
256
255
 
257
- $embed-responsive-aspect-ratios: () !default;
256
+ $embed-responsive-aspect-ratios: ();
258
257
  // stylelint-disable-next-line scss/dollar-variable-default
259
258
  $embed-responsive-aspect-ratios: join(
260
259
  (
@@ -268,7 +267,6 @@ $embed-responsive-aspect-ratios: join(
268
267
  $embed-responsive-aspect-ratios
269
268
  );
270
269
 
271
-
272
270
  // Fonts
273
271
  //
274
272
  // Font, line-height, and color for body text, headings, and more.
@@ -313,7 +311,7 @@ $display4-size: ($font-size-base * .875);
313
311
  // $display1-weight: 300 !default;
314
312
  // $display2-weight: 300 !default;
315
313
  // $display3-weight: 300 !default;
316
- $display4-weight: $font-weight-normal;
314
+ $display4-weight: $font-weight-bold;
317
315
  // $display-line-height: $headings-line-height !default;
318
316
 
319
317
  $lead-font-size: ($font-size-base * 1.5);
@@ -399,7 +397,7 @@ $input-btn-padding-x-sm: ($spacer * .25);
399
397
  // $input-btn-font-size-sm: $font-size-sm !default;
400
398
  // $input-btn-line-height-sm: $line-height-sm !default;
401
399
 
402
- $input-btn-padding-y-lg: 1.1rem;
400
+ $input-btn-padding-y-lg: .5rem;
403
401
  $input-btn-padding-x-lg: ($spacer * .75);
404
402
  // $input-btn-font-size-lg: $font-size-lg !default;
405
403
  // $input-btn-line-height-lg: $line-height-lg !default;
@@ -658,7 +656,7 @@ $form-feedback-icon-valid: none;
658
656
  // $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
659
657
  $form-feedback-icon-invalid: none;
660
658
 
661
- $form-validation-states: () !default;
659
+ $form-validation-states: ();
662
660
  // stylelint-disable-next-line scss/dollar-variable-default
663
661
  $form-validation-states: map-merge(
664
662
  (
@@ -695,16 +693,16 @@ $nav-link-padding-x: $spacer;
695
693
  $nav-link-disabled-color: $text-muted;
696
694
 
697
695
  $nav-tabs-border-color: $border-color;
698
- $nav-tabs-border-width: $border-width;
696
+ $nav-tabs-border-width: 3px;
699
697
  $nav-tabs-border-radius: 0;
700
698
  $nav-tabs-link-hover-border-color: $primary;
701
699
  $nav-tabs-link-active-color: $body-color;
702
700
  $nav-tabs-link-active-bg: transparent;
703
701
  $nav-tabs-link-active-border-color: $primary;
704
702
 
705
- // $nav-pills-border-radius: $border-radius !default;
706
- // $nav-pills-link-active-color: $component-active-color !default;
707
- // $nav-pills-link-active-bg: $component-active-bg !default;
703
+ $nav-pills-border-radius: 0;
704
+ $nav-pills-link-active-color: $white;
705
+ $nav-pills-link-active-bg: darken(#006D9D, 10%);
708
706
 
709
707
  $nav-divider-color: $border-color;
710
708
  $nav-divider-margin-y: 0;
@@ -712,8 +710,8 @@ $nav-divider-margin-y: 0;
712
710
 
713
711
  // Navbar
714
712
 
715
- $navbar-padding-y: ($spacer * .5);
716
- // $navbar-padding-x: $spacer !default;
713
+ $navbar-padding-y: 0;
714
+ $navbar-padding-x: 0;
717
715
 
718
716
  $navbar-nav-link-padding-x: ($spacer * .5);
719
717
 
@@ -728,9 +726,9 @@ $navbar-toggler-padding-x: ($spacer * .5);
728
726
  // $navbar-toggler-font-size: $font-size-lg !default;
729
727
  // $navbar-toggler-border-radius: $btn-border-radius !default;
730
728
 
731
- // $navbar-dark-color: rgba($white, .5) !default;
732
- // $navbar-dark-hover-color: rgba($white, .75) !default;
733
- // $navbar-dark-active-color: $white !default;
729
+ $navbar-dark-color: #9a9a9a; // LEGACY
730
+ $navbar-dark-hover-color: #b9b9b9; // LEGACY
731
+ $navbar-dark-active-color: #cccccc; // LEGACY
734
732
  // $navbar-dark-disabled-color: rgba($white, .25) !default;
735
733
  // $navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default;
736
734
  // $navbar-dark-toggler-border-color: rgba($white, .1) !default;
@@ -823,11 +821,11 @@ $jumbotron-bg: $body-bg;
823
821
 
824
822
  $card-spacer-y: $spacer;
825
823
  $card-spacer-x: $spacer;
826
- $card-border-width: 0;
824
+ $card-border-width: $border-width;
827
825
  // $card-border-radius: $border-radius !default;
828
- $card-border-color: transparent;
826
+ $card-border-color: $border-color;
829
827
  $card-inner-border-radius: $border-radius;
830
- $card-cap-bg: theme-color("light");
828
+ $card-cap-bg: $white;
831
829
  // $card-cap-color: null !default;
832
830
  // $card-color: null !default;
833
831
  // $card-bg: $white !default;
@@ -957,8 +955,8 @@ $modal-header-padding-x: $spacer;
957
955
  // $modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility
958
956
 
959
957
  // $modal-xl: 1140px !default;
960
- $modal-lg: 900px !default;
961
- $modal-md: 600px !default;
958
+ $modal-lg: 900px;
959
+ $modal-md: 600px;
962
960
  // $modal-sm: 300px !default;
963
961
 
964
962
  // $modal-fade-transform: translate(0, -50px) !default;
@@ -1021,7 +1019,7 @@ $list-group-action-color: $body-color;
1021
1019
  // $list-group-action-active-bg: $gray-200 !default;
1022
1020
 
1023
1021
 
1024
- // Image thumbnails -- NOT CURRENTLY USED IN PUBLIC
1022
+ // Image thumbnails
1025
1023
 
1026
1024
  // $thumbnail-padding: .25rem !default;
1027
1025
  // $thumbnail-bg: $body-bg !default;
@@ -1037,7 +1035,7 @@ $list-group-action-color: $body-color;
1037
1035
  $figure-caption-color: $text-muted;
1038
1036
 
1039
1037
 
1040
- // Breadcrumbs -- NOT CURRENTLY USED IN PUBLIC
1038
+ // Breadcrumbs
1041
1039
 
1042
1040
  // $breadcrumb-padding-y: .75rem !default;
1043
1041
  // $breadcrumb-padding-x: 1rem !default;