nfg_ui 0.10.13 → 0.11.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 (142) 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 +35 -34
  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 +6 -6
  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/core/plugins/_intercom.scss +5 -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/app/assets/stylesheets/nfg_ui/network_for_good/public/plugins/_intercom.scss +0 -7
  142. 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: c6e58889fb77e8519d6ee203354e6ca65656f0463c28c423cbc115e6c32b1980
4
- data.tar.gz: 702cc3f3d1678def2241bcc9c687e31dafa2b30a28fee6f89e5d7503b04478b7
3
+ metadata.gz: f0724b78919c0829c296004c09b2bae90a2b0492bc4d637c28a2a4dc5c5c4d7f
4
+ data.tar.gz: 9e8841a495673888802bb12df9bb9d3b92b32ad7042c6a2ee458f980c189c71b
5
5
  SHA512:
6
- metadata.gz: cb043579fa346c3cd229844a0ed8b95c83eea5786f4e7fa79ee0e6c98da1b7a69e2524d502065824a7388a7e617f019163c3cfc6ac0f67b89c247423889ca503
7
- data.tar.gz: 58fb08cb3b0f259621a3a96ae816482447b66332a30811be034c4e442f841ace1b777db2eec913eaa838323ed9fc125a1a8c34e90f1b0a6abc42c16cd23e61fb
6
+ metadata.gz: 40b97acfd1869140887b904f0c6a275f96290f67b6dd9f0b1ddba242fc9947f429e3efdc3b5c70805e93fc5aef55d139e99cb53fc52a1981adca6f18719e5e8d
7
+ data.tar.gz: d4dafdd6a2f3a401266526259ddb12a773b927557f4d12c06547a034516c3cffa669b5545421227fe3dd2a6c23bd89a1579dfe657c4afd0793d2626bb329b557
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,17 +253,19 @@ $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
- // $embed-responsive-aspect-ratios: join(
260
- // (
261
- // (21 9),
262
- // (16 9),
263
- // (3 4),
264
- // (1 1),
265
- // ),
266
- // $embed-responsive-aspect-ratios
267
- // );
258
+ $embed-responsive-aspect-ratios: join(
259
+ (
260
+ (21 9),
261
+ (16 9),
262
+ (9 16),
263
+ (4 3),
264
+ (3 4),
265
+ (1 1),
266
+ ),
267
+ $embed-responsive-aspect-ratios
268
+ );
268
269
 
269
270
  // Fonts
270
271
  //
@@ -310,7 +311,7 @@ $display4-size: ($font-size-base * .875);
310
311
  // $display1-weight: 300 !default;
311
312
  // $display2-weight: 300 !default;
312
313
  // $display3-weight: 300 !default;
313
- $display4-weight: $font-weight-normal;
314
+ $display4-weight: $font-weight-bold;
314
315
  // $display-line-height: $headings-line-height !default;
315
316
 
316
317
  $lead-font-size: ($font-size-base * 1.5);
@@ -396,7 +397,7 @@ $input-btn-padding-x-sm: ($spacer * .25);
396
397
  // $input-btn-font-size-sm: $font-size-sm !default;
397
398
  // $input-btn-line-height-sm: $line-height-sm !default;
398
399
 
399
- $input-btn-padding-y-lg: 1.1rem;
400
+ $input-btn-padding-y-lg: .5rem;
400
401
  $input-btn-padding-x-lg: ($spacer * .75);
401
402
  // $input-btn-font-size-lg: $font-size-lg !default;
402
403
  // $input-btn-line-height-lg: $line-height-lg !default;
@@ -655,7 +656,7 @@ $form-feedback-icon-valid: none;
655
656
  // $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
656
657
  $form-feedback-icon-invalid: none;
657
658
 
658
- $form-validation-states: () !default;
659
+ $form-validation-states: ();
659
660
  // stylelint-disable-next-line scss/dollar-variable-default
660
661
  $form-validation-states: map-merge(
661
662
  (
@@ -692,16 +693,16 @@ $nav-link-padding-x: $spacer;
692
693
  $nav-link-disabled-color: $text-muted;
693
694
 
694
695
  $nav-tabs-border-color: $border-color;
695
- $nav-tabs-border-width: $border-width;
696
+ $nav-tabs-border-width: 3px;
696
697
  $nav-tabs-border-radius: 0;
697
698
  $nav-tabs-link-hover-border-color: $primary;
698
699
  $nav-tabs-link-active-color: $body-color;
699
700
  $nav-tabs-link-active-bg: transparent;
700
701
  $nav-tabs-link-active-border-color: $primary;
701
702
 
702
- // $nav-pills-border-radius: $border-radius !default;
703
- // $nav-pills-link-active-color: $component-active-color !default;
704
- // $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%);
705
706
 
706
707
  $nav-divider-color: $border-color;
707
708
  $nav-divider-margin-y: 0;
@@ -709,8 +710,8 @@ $nav-divider-margin-y: 0;
709
710
 
710
711
  // Navbar
711
712
 
712
- $navbar-padding-y: ($spacer * .5);
713
- // $navbar-padding-x: $spacer !default;
713
+ $navbar-padding-y: 0;
714
+ $navbar-padding-x: 0;
714
715
 
715
716
  $navbar-nav-link-padding-x: ($spacer * .5);
716
717
 
@@ -725,9 +726,9 @@ $navbar-toggler-padding-x: ($spacer * .5);
725
726
  // $navbar-toggler-font-size: $font-size-lg !default;
726
727
  // $navbar-toggler-border-radius: $btn-border-radius !default;
727
728
 
728
- // $navbar-dark-color: rgba($white, .5) !default;
729
- // $navbar-dark-hover-color: rgba($white, .75) !default;
730
- // $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
731
732
  // $navbar-dark-disabled-color: rgba($white, .25) !default;
732
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;
733
734
  // $navbar-dark-toggler-border-color: rgba($white, .1) !default;
@@ -820,11 +821,11 @@ $jumbotron-bg: $body-bg;
820
821
 
821
822
  $card-spacer-y: $spacer;
822
823
  $card-spacer-x: $spacer;
823
- $card-border-width: 0;
824
+ $card-border-width: $border-width;
824
825
  // $card-border-radius: $border-radius !default;
825
- $card-border-color: transparent;
826
+ $card-border-color: $border-color;
826
827
  $card-inner-border-radius: $border-radius;
827
- $card-cap-bg: theme-color("light");
828
+ $card-cap-bg: $white;
828
829
  // $card-cap-color: null !default;
829
830
  // $card-color: null !default;
830
831
  // $card-bg: $white !default;
@@ -954,8 +955,8 @@ $modal-header-padding-x: $spacer;
954
955
  // $modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility
955
956
 
956
957
  // $modal-xl: 1140px !default;
957
- $modal-lg: 900px !default;
958
- $modal-md: 600px !default;
958
+ $modal-lg: 900px;
959
+ $modal-md: 600px;
959
960
  // $modal-sm: 300px !default;
960
961
 
961
962
  // $modal-fade-transform: translate(0, -50px) !default;
@@ -1018,7 +1019,7 @@ $list-group-action-color: $body-color;
1018
1019
  // $list-group-action-active-bg: $gray-200 !default;
1019
1020
 
1020
1021
 
1021
- // Image thumbnails -- NOT CURRENTLY USED IN PUBLIC
1022
+ // Image thumbnails
1022
1023
 
1023
1024
  // $thumbnail-padding: .25rem !default;
1024
1025
  // $thumbnail-bg: $body-bg !default;
@@ -1034,7 +1035,7 @@ $list-group-action-color: $body-color;
1034
1035
  $figure-caption-color: $text-muted;
1035
1036
 
1036
1037
 
1037
- // Breadcrumbs -- NOT CURRENTLY USED IN PUBLIC
1038
+ // Breadcrumbs
1038
1039
 
1039
1040
  // $breadcrumb-padding-y: .75rem !default;
1040
1041
  // $breadcrumb-padding-x: 1rem !default;