ndr_ui 4.1.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +119 -0
  3. data/CODE_OF_CONDUCT.md +13 -0
  4. data/app/assets/fonts/bootstrap-icons.woff +0 -0
  5. data/app/assets/fonts/bootstrap-icons.woff2 +0 -0
  6. data/app/assets/javascripts/ndr_ui/index.js +1 -0
  7. data/app/assets/stylesheets/ndr_ui/bootstrap-icons.scss +2090 -0
  8. data/app/assets/stylesheets/ndr_ui/index.scss +5 -3
  9. data/app/builders/ndr_ui/bootstrap/datepicker.rb +4 -4
  10. data/app/builders/ndr_ui/bootstrap/form_control_class.rb +2 -2
  11. data/app/builders/ndr_ui/bootstrap/inline_errors_and_warnings.rb +2 -2
  12. data/app/builders/ndr_ui/bootstrap/input_group_addons.rb +4 -10
  13. data/app/builders/ndr_ui/bootstrap/readonly.rb +12 -12
  14. data/app/builders/ndr_ui/bootstrap_builder.rb +32 -25
  15. data/app/helpers/ndr_ui/bootstrap/{accordion.rb → accordion_helper.rb} +49 -16
  16. data/app/helpers/ndr_ui/bootstrap/breadcrumbs_helper.rb +4 -4
  17. data/app/helpers/ndr_ui/bootstrap/card_helper.rb +94 -0
  18. data/app/helpers/ndr_ui/bootstrap/dropdown_helper.rb +16 -13
  19. data/app/helpers/ndr_ui/bootstrap/modal_helper.rb +15 -13
  20. data/app/helpers/ndr_ui/bootstrap_helper.rb +68 -64
  21. data/app/helpers/ndr_ui/css_helper.rb +1 -4
  22. data/lib/ndr_ui/engine.rb +2 -1
  23. data/lib/ndr_ui/version.rb +1 -1
  24. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/css/bootstrap-datepicker.css +39 -36
  25. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker.css.map +1 -0
  26. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker.min.css +7 -0
  27. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/css/bootstrap-datepicker.standalone.css +40 -37
  28. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker.standalone.css.map +1 -0
  29. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker.standalone.min.css +7 -0
  30. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/css/bootstrap-datepicker3.css +53 -50
  31. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker3.css.map +1 -0
  32. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker3.min.css +7 -0
  33. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/css/bootstrap-datepicker3.standalone.css +55 -52
  34. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker3.standalone.css.map +1 -0
  35. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/css/bootstrap-datepicker3.standalone.min.css +7 -0
  36. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/js/bootstrap-datepicker.js +355 -450
  37. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/js/bootstrap-datepicker.min.js +8 -0
  38. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker-en-CA.min.js +1 -0
  39. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.ar-tn.min.js +1 -0
  40. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.bn.min.js +1 -0
  41. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.br.min.js +1 -0
  42. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.cs.min.js +1 -1
  43. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.da.min.js +1 -0
  44. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.en-IE.min.js +1 -0
  45. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.en-NZ.min.js +1 -0
  46. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.en-ZA.min.js +1 -0
  47. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.eu.min.js +1 -1
  48. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.hi.min.js +1 -0
  49. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.hy.min.js +1 -0
  50. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ka.min.js +1 -1
  51. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.kh.min.js +1 -0
  52. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.kk.min.js +1 -1
  53. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.km.min.js +1 -0
  54. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.kr.min.js +1 -1
  55. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.lv.min.js +1 -1
  56. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.oc.min.js +1 -0
  57. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.pl.min.js +1 -0
  58. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ro.min.js +1 -1
  59. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.rs-latin.min.js +1 -1
  60. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.rs.min.js +1 -1
  61. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ru.min.js +1 -1
  62. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.si.min.js +1 -0
  63. data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sl.min.js +1 -1
  64. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.ta.min.js +1 -0
  65. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.tg.min.js +1 -0
  66. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.uz-cyrl.min.js +1 -0
  67. data/vendor/assets/bootstrap-datepicker-1.7.1-dist/locales/bootstrap-datepicker.uz-latn.min.js +1 -0
  68. data/vendor/assets/datepicker-scss-fix/bootstrap-datepicker-scss-fix.scss +1 -1
  69. metadata +148 -104
  70. data/app/helpers/ndr_ui/bootstrap/panel_helper.rb +0 -87
  71. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker.css.map +0 -1
  72. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker.min.css +0 -9
  73. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker.min.css.map +0 -1
  74. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker.standalone.css.map +0 -1
  75. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker.standalone.min.css +0 -9
  76. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker.standalone.min.css.map +0 -1
  77. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker3.css.map +0 -1
  78. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker3.min.css +0 -9
  79. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker3.min.css.map +0 -1
  80. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker3.standalone.css.map +0 -1
  81. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker3.standalone.min.css +0 -9
  82. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/css/bootstrap-datepicker3.standalone.min.css.map +0 -1
  83. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/js/bootstrap-datepicker.min.js +0 -9
  84. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/locales/bootstrap-datepicker.da.min.js +0 -1
  85. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/locales/bootstrap-datepicker.hy.min.js +0 -1
  86. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/locales/bootstrap-datepicker.kh.min.js +0 -1
  87. data/vendor/assets/bootstrap-datepicker-1.6.0-dist/locales/bootstrap-datepicker.pl.min.js +0 -1
  88. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ar.min.js +0 -0
  89. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.az.min.js +0 -0
  90. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.bg.min.js +0 -0
  91. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.bs.min.js +0 -0
  92. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ca.min.js +0 -0
  93. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.cy.min.js +0 -0
  94. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.de.min.js +0 -0
  95. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.el.min.js +0 -0
  96. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.en-AU.min.js +0 -0
  97. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.en-GB.min.js +0 -0
  98. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.eo.min.js +0 -0
  99. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.es.min.js +0 -0
  100. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.et.min.js +0 -0
  101. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.fa.min.js +0 -0
  102. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.fi.min.js +0 -0
  103. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.fo.min.js +0 -0
  104. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.fr-CH.min.js +0 -0
  105. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.fr.min.js +0 -0
  106. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.gl.min.js +0 -0
  107. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.he.min.js +0 -0
  108. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.hr.min.js +0 -0
  109. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.hu.min.js +0 -0
  110. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.id.min.js +0 -0
  111. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.is.min.js +0 -0
  112. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.it-CH.min.js +0 -0
  113. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.it.min.js +0 -0
  114. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ja.min.js +0 -0
  115. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ko.min.js +0 -0
  116. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.lt.min.js +0 -0
  117. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.me.min.js +0 -0
  118. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.mk.min.js +0 -0
  119. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.mn.min.js +0 -0
  120. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.ms.min.js +0 -0
  121. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.nb.min.js +0 -0
  122. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.nl-BE.min.js +0 -0
  123. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.nl.min.js +0 -0
  124. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.no.min.js +0 -0
  125. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.pt-BR.min.js +0 -0
  126. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.pt.min.js +0 -0
  127. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sk.min.js +0 -0
  128. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sq.min.js +0 -0
  129. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sr-latin.min.js +0 -0
  130. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sr.min.js +0 -0
  131. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sv.min.js +0 -0
  132. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.sw.min.js +0 -0
  133. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.th.min.js +0 -0
  134. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.tr.min.js +0 -0
  135. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.uk.min.js +0 -0
  136. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.vi.min.js +0 -0
  137. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.zh-CN.min.js +0 -0
  138. /data/vendor/assets/{bootstrap-datepicker-1.6.0-dist → bootstrap-datepicker-1.7.1-dist}/locales/bootstrap-datepicker.zh-TW.min.js +0 -0
@@ -50,6 +50,7 @@ module NdrUi
50
50
  # # => <div class="modal-header">Check it out!!</div>
51
51
  def bootstrap_modal_header_tag(*args, &block)
52
52
  return bootstrap_modal_header_tag(capture(&block), *args) if block_given?
53
+
53
54
  options = args.extract_options!
54
55
  options.stringify_keys!
55
56
 
@@ -58,10 +59,11 @@ module NdrUi
58
59
  # end
59
60
 
60
61
  heading = content_tag(:h4, args.first, class: 'modal-title')
61
- heading = button_tag(content_tag(:span, '×', "aria-hidden": 'true'),
62
- type: 'button', class: 'close', "data-dismiss": 'modal',
63
- "aria-label": 'Close') + heading if options.delete('dismissible')
64
-
62
+ if options.delete('dismissible')
63
+ heading = button_tag(content_tag(:span, '×', 'aria-hidden': 'true'),
64
+ type: 'button', class: 'btn-close', 'data-bs-dismiss': 'modal',
65
+ 'aria-label': 'Close') + heading
66
+ end
65
67
  content_tag(:div, heading, class: 'modal-header')
66
68
  end
67
69
 
@@ -109,21 +111,21 @@ module NdrUi
109
111
  # <%= bootstrap_modal_footer_tag('Button text', readonly: true)
110
112
  # # =>
111
113
  # <div class="modal-footer">
112
- # <button name="button" type="submit" class="btn btn-default" data-dismiss="modal">
114
+ # <button name="button" type="submit" class="btn btn-default" data-bs-dismiss="modal">
113
115
  # Close
114
116
  # </button>
115
117
  # </div>
116
118
  #
117
119
  # <%= bootstrap_modal_footer_tag(readonly: false) do
118
- # button_tag('Non-readonly default', class: 'btn btn-default', "data-dismiss": 'modal') +
119
- # button_tag('Non-readonly primary', class: 'btn btn-primary', "data-dismiss": 'modal')
120
+ # button_tag('Non-readonly default', class: 'btn btn-default', 'data-bs-dismiss': 'modal') +
121
+ # button_tag('Non-readonly primary', class: 'btn btn-primary', 'data-bs-dismiss': 'modal')
120
122
  # end %>
121
123
  # # =>
122
124
  # <div class="modal-footer">
123
- # <button name="button" type="submit" class="btn btn-default" data-dismiss="modal">
125
+ # <button name="button" type="submit" class="btn btn-default" data-bs-dismiss="modal">
124
126
  # Non-readonly default
125
127
  # </button>
126
- # <button name="button" type="submit" class="btn btn-primary" data-dismiss="modal">
128
+ # <button name="button" type="submit" class="btn btn-primary" data-bs-dismiss="modal">
127
129
  # Non-readonly primary
128
130
  # </button>
129
131
  # </div>
@@ -131,7 +133,7 @@ module NdrUi
131
133
  # <%= bootstrap_modal_footer_tag('Button text') %>
132
134
  # # =>
133
135
  # <div class="modal-footer">
134
- # <button name="button" type="submit" class="btn btn-default" data-dismiss="modal">
136
+ # <button name="button" type="submit" class="btn btn-default" data-bs-dismiss="modal">
135
137
  # Button text
136
138
  # </button>
137
139
  # </div>
@@ -139,7 +141,7 @@ module NdrUi
139
141
  # <%= bootstrap_modal_footer_tag %>
140
142
  # # =>
141
143
  # <div class="modal-footer">
142
- # <button name="button" type="submit" class="btn btn-default" data-dismiss="modal">
144
+ # <button name="button" type="submit" class="btn btn-default" data-bs-dismiss="modal">
143
145
  # Don&#39;t save
144
146
  # </button>
145
147
  # <input type="submit" name="commit" value="Save" class="btn btn-primary"
@@ -189,7 +191,7 @@ module NdrUi
189
191
  # Pear form
190
192
  # </div>
191
193
  # <div class="modal-footer">
192
- # <button type="button" class="btn btn-default" data-dismiss="modal">
194
+ # <button type="button" class="btn btn-default" data-bs-dismiss="modal">
193
195
  # Don't save
194
196
  # </button>
195
197
  # <input name="commit" class="btn-primary btn" data-disable-with="Saving&hellip;"
@@ -216,7 +218,7 @@ module NdrUi
216
218
  end
217
219
 
218
220
  def bootstrap_modal_button(label)
219
- button_tag(label, class: 'btn btn-default', "data-dismiss": 'modal')
221
+ button_tag(label, class: 'btn btn-default', 'data-bs-dismiss': 'modal')
220
222
  end
221
223
 
222
224
  private
@@ -1,10 +1,23 @@
1
1
  module NdrUi
2
2
  # Provides helper methods for the Twitter Bootstrap framework
3
3
  module BootstrapHelper # rubocop:disable Metrics/ModuleLength
4
+ include ::NdrUi::Bootstrap::AccordionHelper
4
5
  include ::NdrUi::Bootstrap::BreadcrumbsHelper
6
+ include ::NdrUi::Bootstrap::CardHelper
5
7
  include ::NdrUi::Bootstrap::DropdownHelper
6
8
  include ::NdrUi::Bootstrap::ModalHelper
7
- include ::NdrUi::Bootstrap::PanelHelper
9
+
10
+ TYPE_STYLE_MAP = {
11
+ important: :danger,
12
+ default: :secondary
13
+ }.freeze
14
+
15
+ # ensure `form-control` and `form-select` classes added to select_tag
16
+ def select_tag(name, option_tags = nil, options = {})
17
+ options = css_class_options_merge(options, %w[form-control form-select])
18
+
19
+ super(name, option_tags, options)
20
+ end
8
21
 
9
22
  # Creates an alert box of the given +type+. It supports the following alert box types
10
23
  # <tt>:alert</tt>, <tt>:danger</tt>, <tt>:info</tt> and <tt>:success</tt>.
@@ -29,8 +42,8 @@ module NdrUi
29
42
  # ==== Examples
30
43
  #
31
44
  # <%= bootstrap_alert_tag(:info, 'Check it out!!') %>
32
- # # => <div class="alert alert-info"><a href="#" class="close"
33
- # data-dismiss="alert">&times;</a>Check it out!!</div>
45
+ # # => <div class="alert alert-info"><a href="#" class="btn-close"
46
+ # data-bs-dismiss="alert"></a>Check it out!!</div>
34
47
  #
35
48
  # You can use a block as well if your alert message is hard to fit into the message parameter.
36
49
  # ERb example:
@@ -38,8 +51,8 @@ module NdrUi
38
51
  # <%= bootstrap_alert_tag(:info) do %>
39
52
  # Check it out!!
40
53
  # <% end %>
41
- # # => <div class="alert alert-info"><button type="button" class="close"
42
- # data-dismiss="alert">&times;</button>Check it out!!</div>
54
+ # # => <div class="alert alert-info"><button type="button" class="btn-close"
55
+ # data-bs-dismiss="alert"></button>Check it out!!</div>
43
56
  #
44
57
  # Ids for css and/or javascript are easy to produce:
45
58
  #
@@ -51,7 +64,7 @@ module NdrUi
51
64
  if block_given?
52
65
  message = capture(&block)
53
66
  options = args[1] || {}
54
- return bootstrap_alert_tag(type, message, options)
67
+ bootstrap_alert_tag(type, message, options)
55
68
  else
56
69
  message = args[1] || ''
57
70
  options = args[2] || {}
@@ -65,10 +78,9 @@ module NdrUi
65
78
  end
66
79
  options['class'] = classes.join(' ')
67
80
 
68
- message = button_tag('&times;'.html_safe,
69
- type: 'button',
70
- class: 'close',
71
- "data-dismiss": 'alert') + message if options.delete('dismissible')
81
+ if options.delete('dismissible')
82
+ message = button_tag('', type: 'button', class: 'btn-close', 'data-bs-dismiss': 'alert') + message
83
+ end
72
84
  content_tag(:div, message, options)
73
85
  end
74
86
  end
@@ -87,8 +99,8 @@ module NdrUi
87
99
  # # => <span class="label label-info">Check it out!!</span>
88
100
  #
89
101
  def bootstrap_label_tag(type, message)
90
- classes = ['label', "label-#{type}"]
91
- content_tag(:span, message, class: classes.join(' '))
102
+ style = TYPE_STYLE_MAP[type] || type
103
+ content_tag(:span, message, class: "badge text-bg-#{style}")
92
104
  end
93
105
 
94
106
  # Creates an bootstrap badge of the given +type+. Bootstrap 3 does not support any types.
@@ -100,13 +112,11 @@ module NdrUi
100
112
  # ==== Examples
101
113
  #
102
114
  # <%= bootstrap_badge_tag(:success, 'Check it out!!') %>
103
- # # => <span class="badge">Check it out!!</span> <%# Bootstrap 3 %>
115
+ # # => <span class="badge rounded-pill text-bg-success">Check it out!!</span>
104
116
  #
105
- # TODO: In bootstrap 4, these will likely need to be implemented using "pill labels",
106
- # which will once again allow the `type` argument to colour them.
107
- #
108
- def bootstrap_badge_tag(_type, count)
109
- content_tag(:span, count, class: 'badge')
117
+ def bootstrap_badge_tag(type, count)
118
+ style = TYPE_STYLE_MAP[type] || type
119
+ content_tag(:span, count, class: "badge rounded-pill text-bg-#{style}")
110
120
  end
111
121
 
112
122
  # Creates a simple bootstrap navigation caret.
@@ -132,13 +142,15 @@ module NdrUi
132
142
  # ==== Examples
133
143
  #
134
144
  # <%= bootstrap_dropdown_toggle_tag('Check it out!!') %>
135
- # # => <a href="#" class="dropdown-toggle" data-toggle="dropdown">Check it
136
- # out!! <b class="caret"></b></a>
145
+ # # => <a href="#" role="button" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
146
+ # Check it out!! <b class="caret"></b></a>
137
147
  def bootstrap_dropdown_toggle_tag(body)
138
148
  link_to(ERB::Util.html_escape(body) + ' '.html_safe + bootstrap_caret_tag,
139
149
  '#',
140
- class: 'dropdown-toggle',
141
- 'data-toggle': 'dropdown')
150
+ role: 'button',
151
+ class: 'nav-link dropdown-toggle',
152
+ 'data-bs-toggle': 'dropdown',
153
+ 'aria-expanded': 'false')
142
154
  end
143
155
 
144
156
  # Creates a simple bootstrap icon.
@@ -149,10 +161,17 @@ module NdrUi
149
161
  #
150
162
  # ==== Examples
151
163
  #
152
- # <%= bootstrap_icon_tag(:search) %>
164
+ # <%= bootstrap_icon_tag(:search, :bi) %>
165
+ # # => <i class="bi-search"></i>
166
+ #
167
+ # <%= bootstrap_icon_tag(:search, :glyphicon) %>
153
168
  # # => <span class="glyphicon glyphicon-search"></span>
154
- def bootstrap_icon_tag(type)
155
- content_tag(:span, '', class: "glyphicon glyphicon-#{type}")
169
+ def bootstrap_icon_tag(type, set = :glyphicon)
170
+ if set == :bi
171
+ content_tag(:i, '', class: "bi-#{type}")
172
+ else
173
+ content_tag(:span, '', class: "glyphicon glyphicon-#{type}")
174
+ end
156
175
  end
157
176
 
158
177
  # Creates a simple bootstrap icon spinner.
@@ -184,16 +203,16 @@ module NdrUi
184
203
  # ==== Examples
185
204
  #
186
205
  # <%= bootstrap_tab_nav_tag("Fruits", "#fruits", true) %>
187
- # # => <li class="active"><a href="#fruits" data-toggle="tab">Fruits</a></li>
206
+ # # => <li class="active"><a href="#fruits" data-bs-toggle="tab">Fruits</a></li>
188
207
  def bootstrap_tab_nav_tag(title, linkto, active = false)
189
208
  content_tag('li',
190
- link_to(title, linkto, "data-toggle": 'tab'),
209
+ link_to(title, linkto, 'data-bs-toggle': 'tab'),
191
210
  active ? { class: 'active' } : {})
192
211
  end
193
212
 
194
213
  # Convenience wrapper for a bootstrap_list_link_to with badge
195
214
  def bootstrap_list_badge_and_link_to(type, count, name, path)
196
- html = content_tag(:div, bootstrap_badge_tag(type, count), class: 'pull-right') + name
215
+ html = content_tag(:div, bootstrap_badge_tag(type, count), class: 'float-end') + name
197
216
  bootstrap_list_link_to(html, path)
198
217
  end
199
218
 
@@ -219,25 +238,21 @@ module NdrUi
219
238
 
220
239
  # Identical signature to form_for, but uses NdrUi::BootstrapBuilder.
221
240
  # See ActionView::Helpers::FormHelper for details
222
- def bootstrap_form_for(record_or_name_or_array, *args, &proc)
241
+ def bootstrap_form_for(record_or_name_or_array, *args, &_proc)
223
242
  options = args.extract_options!
224
243
  options[:html] ||= {}
225
244
 
226
245
  # :horizontal
227
- if horizontal = options.delete(:horizontal)
228
- # set the form html class for horizontal bootstrap forms
229
- options[:html][:class] ||= ''
230
- classes = (options[:html][:class].split(' ') << 'form-horizontal').uniq.join(' ')
231
- options[:html][:class] = classes
232
- end
246
+ horizontal = options.delete(:horizontal)
233
247
 
234
248
  # stimuls controller, default `form_controller`
235
249
  options[:html][:'data-controller'] ||= ''
236
- controllers = (options[:html][:'data-controller'].split(' ') << 'form').uniq.join(' ')
250
+ controllers = (options[:html][:'data-controller'].split << 'form').uniq.join(' ')
237
251
  options[:html][:'data-controller'] = controllers
238
252
 
239
253
  # We switch autocomplete off by default
240
254
  raise 'autocomplete should be defined an html option' if options[:autocomplete]
255
+
241
256
  options[:html][:autocomplete] ||= 'off'
242
257
 
243
258
  form_for(record_or_name_or_array, *(args << options.merge(builder: NdrUi::BootstrapBuilder))) do |form|
@@ -256,21 +271,14 @@ module NdrUi
256
271
  options[:builder] = NdrUi::BootstrapBuilder
257
272
  horizontal = options.delete(:horizontal)
258
273
 
259
- # :horizontal
260
- if horizontal
261
- # set the form html class for horizontal bootstrap forms
262
- options[:html][:class] ||= ''
263
- classes = (options[:html][:class].split(' ') << 'form-horizontal').uniq.join(' ')
264
- options[:html][:class] = classes
265
- end
266
-
267
274
  # stimuls controller, default `form_controller`
268
275
  options[:html][:'data-controller'] ||= ''
269
- controllers = (options[:html][:'data-controller'].split(' ') << 'form').uniq.join(' ')
276
+ controllers = (options[:html][:'data-controller'].split << 'form').uniq.join(' ')
270
277
  options[:html][:'data-controller'] = controllers
271
278
 
272
279
  # We switch autocomplete off by default
273
280
  raise 'autocomplete should be defined an html option' if options[:autocomplete]
281
+
274
282
  options[:html][:autocomplete] ||= 'off'
275
283
 
276
284
  form_with(**options) do |form|
@@ -331,7 +339,7 @@ module NdrUi
331
339
  #
332
340
  # <%= bootstrap_progressbar_tag(40), type: :danger %>
333
341
  # # => <div class="progress progress-striped active" title="40%"><div
334
- # class="progress-bar progress-bar-danger" style="width:40%"></div></div>
342
+ # class="progress-bar bg-danger" style="width:40%"></div></div>
335
343
  #
336
344
  # ==== Browser compatibility
337
345
  #
@@ -349,7 +357,7 @@ module NdrUi
349
357
  classes << 'progress-striped'
350
358
 
351
359
  type = options.delete('type').to_s
352
- type = " progress-bar-#{type}" unless type.blank?
360
+ type = " bg-#{type}" if type.present?
353
361
 
354
362
  # Animate the progress bar unless something has broken:
355
363
  classes << 'active' unless type == 'danger'
@@ -372,22 +380,18 @@ module NdrUi
372
380
  # bootstrap_horizontal_form_group("The Label", [3, 9]) { 'This is the content' }
373
381
  # # =>
374
382
  # <div class="form-group">
375
- # <label class="col-sm-3 control-label">The Label</label>
383
+ # <label class="col-sm-3 col-form-label">The Label</label>
376
384
  # <div class="col-sm-9">This is the content</div>
377
385
  # </div>
378
386
  #
379
387
  def bootstrap_horizontal_form_group(label = nil, ratio = [2, 10], &block)
380
- label, ratio = nil, label if label.is_a?(Array)
381
-
382
388
  l, r = ratio[0..1].map(&:to_i)
383
389
  offset = label.nil? ? " col-sm-offset-#{l}" : ''
384
390
 
385
391
  # Main content:
386
392
  content = content_tag(:div, class: "col-sm-#{r}" + offset, &block)
387
393
  # Prepend optional label:
388
- unless label.nil?
389
- content = content_tag(:label, label, class: "col-sm-#{l} control-label") + content
390
- end
394
+ content = content_tag(:label, label, class: "col-sm-#{l} col-form-label") + content unless label.nil?
391
395
 
392
396
  content_tag(:div, content, class: 'form-group')
393
397
  end
@@ -454,12 +458,12 @@ module NdrUi
454
458
  # ==== Examples
455
459
  #
456
460
  # <%= new_link('#') %>
457
- # # => <a title="New" class="btn btn-primary btn-xs" href="#">
461
+ # # => <a title="New" class="btn btn-primary btn-sm" href="#">
458
462
  # <span class="glyphicon glyphicon-plus-sign"></span>
459
463
  # </a>
460
464
  #
461
465
  # <%= new_link(Post.new) %>
462
- # # => <a title="New" class="btn btn-primary btn-xs" href="/posts/new">
466
+ # # => <a title="New" class="btn btn-primary btn-sm" href="/posts/new">
463
467
  # <span class="glyphicon glyphicon-plus-sign"></span>
464
468
  # </a>
465
469
  #
@@ -469,7 +473,7 @@ module NdrUi
469
473
  path = new_polymorphic_path(path) if can_generate_polymorphic_path?(path)
470
474
 
471
475
  defaults = {
472
- icon: 'plus-sign', title: 'New', path: path, class: 'btn btn-primary btn-xs'
476
+ icon: 'plus-sign', title: 'New', path: path, class: 'btn btn-primary btn-sm'
473
477
  }
474
478
 
475
479
  link_to_with_icon(defaults.merge(options))
@@ -484,7 +488,7 @@ module NdrUi
484
488
  # ==== Examples
485
489
  #
486
490
  # <%= details_link('#') %>
487
- # # => <a title="Details" class="btn btn-default btn-xs" href="#">
491
+ # # => <a title="Details" class="btn btn-default btn-sm" href="#">
488
492
  # <span class="glyphicon glyphicon-share-alt"></span>
489
493
  # </a>
490
494
  #
@@ -503,7 +507,7 @@ module NdrUi
503
507
  # ==== Examples
504
508
  #
505
509
  # <%= edit_link(#) %>
506
- # # => <a title="Edit" class="btn btn-default btn-xs" href="#">
510
+ # # => <a title="Edit" class="btn btn-default btn-sm" href="#">
507
511
  # <span class="glyphicon glyphicon-pencil"></span>
508
512
  # </a>
509
513
  #
@@ -524,7 +528,7 @@ module NdrUi
524
528
  # ==== Examples
525
529
  #
526
530
  # <%= delete_link('#') %>
527
- # # => <a title="Delete" class="btn btn-xs btn-danger" rel="nofollow" href="#"
531
+ # # => <a title="Delete" class="btn btn-sm btn-outline-danger" rel="nofollow" href="#"
528
532
  # data-method="delete" data-confirm="Are you sure?">
529
533
  # <span class="glyphicon glyphicon-trash icon-white"></span>
530
534
  # </a>'
@@ -533,8 +537,8 @@ module NdrUi
533
537
 
534
538
  defaults = {
535
539
  icon: 'trash icon-white', title: 'Delete', path: path,
536
- class: 'btn btn-xs btn-danger', method: :delete,
537
- 'data-confirm': I18n.translate(:'ndr_ui.confirm_delete', locale: options[:locale])
540
+ class: 'btn btn-sm btn-outline-danger', method: :delete,
541
+ 'data-confirm': I18n.t(:'ndr_ui.confirm_delete', locale: options[:locale])
538
542
  }
539
543
 
540
544
  link_to_with_icon(defaults.merge(options))
@@ -575,13 +579,13 @@ module NdrUi
575
579
  # ==== Examples
576
580
  #
577
581
  # <%= link_to_with_icon( { icon: 'trash icon-white', title: 'Delete', path: '#' } ) %>
578
- # # => <a title="Delete" class="btn btn-default btn-xs" href="#">
582
+ # # => <a title="Delete" class="btn btn-default btn-sm" href="#">
579
583
  # <span class="glyphicon glyphicon-trash icon-white"></span>
580
584
  # </a>'
581
585
  def link_to_with_icon(options = {})
582
- options[:class] ||= 'btn btn-default btn-xs'
586
+ options[:class] ||= 'btn btn-default btn-sm'
583
587
  icon = bootstrap_icon_tag(options.delete(:icon))
584
- content = options.delete(:text) ? icon + ' ' + options[:title] : icon
588
+ content = options.delete(:text) ? "#{icon} #{options[:title]}" : icon
585
589
  link_to content, options.delete(:path), options
586
590
  end
587
591
 
@@ -6,10 +6,7 @@ module NdrUi
6
6
  options = options.symbolize_keys
7
7
  css_classes += options[:class].split(' ') if options.include?(:class)
8
8
  yield(css_classes) if block_given?
9
- options[:class] = css_classes.join(' ') unless css_classes.empty?
10
- unless css_classes == css_classes.uniq
11
- fail "Multiple css class definitions: #{css_classes.inspect}"
12
- end
9
+ options[:class] = css_classes.uniq.join(' ') unless css_classes.empty?
13
10
 
14
11
  options
15
12
  end
data/lib/ndr_ui/engine.rb CHANGED
@@ -1,6 +1,7 @@
1
- require 'bootstrap-sass/engine'
1
+ require 'bootstrap/engine'
2
2
  require 'jquery-rails'
3
3
  require 'sprockets/railtie'
4
+ require 'popper_js'
4
5
 
5
6
  module NdrUi
6
7
  # This is where we define the base class for the engine
@@ -2,5 +2,5 @@
2
2
 
3
3
  # This stores the current version of the NdrUi gem. Use semantic versioning http://semver.org
4
4
  module NdrUi
5
- VERSION = '4.1.1'
5
+ VERSION = '5.0.0'
6
6
  end
@@ -1,10 +1,9 @@
1
1
  /*!
2
- * Datepicker for Bootstrap v1.6.0 (https://github.com/eternicode/bootstrap-datepicker)
2
+ * Datepicker for Bootstrap v1.7.1 (https://github.com/uxsolutions/bootstrap-datepicker)
3
3
  *
4
- * Copyright 2012 Stefan Petre
5
- * Improvements by Andrew Rowls
6
4
  * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
7
5
  */
6
+
8
7
  .datepicker {
9
8
  padding: 4px;
10
9
  -webkit-border-radius: 4px;
@@ -15,10 +14,13 @@
15
14
  .datepicker-inline {
16
15
  width: 220px;
17
16
  }
18
- .datepicker.datepicker-rtl {
17
+ .datepicker-rtl {
19
18
  direction: rtl;
20
19
  }
21
- .datepicker.datepicker-rtl table tr td span {
20
+ .datepicker-rtl.dropdown-menu {
21
+ left: auto;
22
+ }
23
+ .datepicker-rtl table tr td span {
22
24
  float: right;
23
25
  }
24
26
  .datepicker-dropdown {
@@ -30,7 +32,7 @@
30
32
  display: inline-block;
31
33
  border-left: 7px solid transparent;
32
34
  border-right: 7px solid transparent;
33
- border-bottom: 7px solid #999999;
35
+ border-bottom: 7px solid #999;
34
36
  border-top: 0;
35
37
  border-bottom-color: rgba(0, 0, 0, 0.2);
36
38
  position: absolute;
@@ -40,7 +42,7 @@
40
42
  display: inline-block;
41
43
  border-left: 6px solid transparent;
42
44
  border-right: 6px solid transparent;
43
- border-bottom: 6px solid #ffffff;
45
+ border-bottom: 6px solid #fff;
44
46
  border-top: 0;
45
47
  position: absolute;
46
48
  }
@@ -65,15 +67,12 @@
65
67
  .datepicker-dropdown.datepicker-orient-top:before {
66
68
  bottom: -7px;
67
69
  border-bottom: 0;
68
- border-top: 7px solid #999999;
70
+ border-top: 7px solid #999;
69
71
  }
70
72
  .datepicker-dropdown.datepicker-orient-top:after {
71
73
  bottom: -6px;
72
74
  border-bottom: 0;
73
- border-top: 6px solid #ffffff;
74
- }
75
- .datepicker > div {
76
- display: none;
75
+ border-top: 6px solid #fff;
77
76
  }
78
77
  .datepicker table {
79
78
  margin: 0;
@@ -100,17 +99,17 @@
100
99
  }
101
100
  .datepicker table tr td.day:hover,
102
101
  .datepicker table tr td.day.focused {
103
- background: #eeeeee;
102
+ background: #eee;
104
103
  cursor: pointer;
105
104
  }
106
105
  .datepicker table tr td.old,
107
106
  .datepicker table tr td.new {
108
- color: #999999;
107
+ color: #999;
109
108
  }
110
109
  .datepicker table tr td.disabled,
111
110
  .datepicker table tr td.disabled:hover {
112
111
  background: none;
113
- color: #999999;
112
+ color: #999;
114
113
  cursor: default;
115
114
  }
116
115
  .datepicker table tr td.highlighted {
@@ -177,7 +176,7 @@
177
176
  .datepicker table tr td.range:hover,
178
177
  .datepicker table tr td.range.disabled,
179
178
  .datepicker table tr td.range.disabled:hover {
180
- background: #eeeeee;
179
+ background: #eee;
181
180
  -webkit-border-radius: 0;
182
181
  -moz-border-radius: 0;
183
182
  border-radius: 0;
@@ -290,14 +289,14 @@
290
289
  .datepicker table tr td.active.disabled,
291
290
  .datepicker table tr td.active.disabled:hover {
292
291
  background-color: #006dcc;
293
- background-image: -moz-linear-gradient(to bottom, #0088cc, #0044cc);
294
- background-image: -ms-linear-gradient(to bottom, #0088cc, #0044cc);
295
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
296
- background-image: -webkit-linear-gradient(to bottom, #0088cc, #0044cc);
297
- background-image: -o-linear-gradient(to bottom, #0088cc, #0044cc);
298
- background-image: linear-gradient(to bottom, #0088cc, #0044cc);
292
+ background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);
293
+ background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);
294
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));
295
+ background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);
296
+ background-image: -o-linear-gradient(to bottom, #08c, #0044cc);
297
+ background-image: linear-gradient(to bottom, #08c, #0044cc);
299
298
  background-repeat: repeat-x;
300
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
299
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
301
300
  border-color: #0044cc #0044cc #002a80;
302
301
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
303
302
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
@@ -350,12 +349,12 @@
350
349
  }
351
350
  .datepicker table tr td span:hover,
352
351
  .datepicker table tr td span.focused {
353
- background: #eeeeee;
352
+ background: #eee;
354
353
  }
355
354
  .datepicker table tr td span.disabled,
356
355
  .datepicker table tr td span.disabled:hover {
357
356
  background: none;
358
- color: #999999;
357
+ color: #999;
359
358
  cursor: default;
360
359
  }
361
360
  .datepicker table tr td span.active,
@@ -363,14 +362,14 @@
363
362
  .datepicker table tr td span.active.disabled,
364
363
  .datepicker table tr td span.active.disabled:hover {
365
364
  background-color: #006dcc;
366
- background-image: -moz-linear-gradient(to bottom, #0088cc, #0044cc);
367
- background-image: -ms-linear-gradient(to bottom, #0088cc, #0044cc);
368
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
369
- background-image: -webkit-linear-gradient(to bottom, #0088cc, #0044cc);
370
- background-image: -o-linear-gradient(to bottom, #0088cc, #0044cc);
371
- background-image: linear-gradient(to bottom, #0088cc, #0044cc);
365
+ background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);
366
+ background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);
367
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));
368
+ background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);
369
+ background-image: -o-linear-gradient(to bottom, #08c, #0044cc);
370
+ background-image: linear-gradient(to bottom, #08c, #0044cc);
372
371
  background-repeat: repeat-x;
373
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
372
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
374
373
  border-color: #0044cc #0044cc #002a80;
375
374
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
376
375
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
@@ -411,7 +410,7 @@
411
410
  }
412
411
  .datepicker table tr td span.old,
413
412
  .datepicker table tr td span.new {
414
- color: #999999;
413
+ color: #999;
415
414
  }
416
415
  .datepicker .datepicker-switch {
417
416
  width: 145px;
@@ -426,7 +425,11 @@
426
425
  .datepicker .prev:hover,
427
426
  .datepicker .next:hover,
428
427
  .datepicker tfoot tr th:hover {
429
- background: #eeeeee;
428
+ background: #eee;
429
+ }
430
+ .datepicker .prev.disabled,
431
+ .datepicker .next.disabled {
432
+ visibility: hidden;
430
433
  }
431
434
  .datepicker .cw {
432
435
  font-size: 10px;
@@ -464,9 +467,9 @@
464
467
  font-weight: normal;
465
468
  line-height: 18px;
466
469
  text-align: center;
467
- text-shadow: 0 1px 0 #ffffff;
470
+ text-shadow: 0 1px 0 #fff;
468
471
  vertical-align: middle;
469
- background-color: #eeeeee;
472
+ background-color: #eee;
470
473
  border: 1px solid #ccc;
471
474
  margin-left: -5px;
472
475
  margin-right: -5px;