zuora_connect_ui 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/zuora_connect_ui.js +1 -0
  3. data/app/assets/javascripts/zuora_connect_ui/util.js +51 -0
  4. data/app/assets/stylesheets/_zuora_connect_ui.scss +4 -6
  5. data/app/assets/stylesheets/zuora_connect_ui/datatables.scss +3 -3
  6. data/app/helpers/zuora_connect_ui/application_helper.rb +28 -4
  7. data/app/views/partials/_table.html.erb +16 -7
  8. data/lib/zuora_connect_ui/version.rb +1 -1
  9. data/vendor/ruby/2.6.0/cache/autoprefixer-rails-9.6.1.1.gem +0 -0
  10. data/vendor/ruby/2.6.0/cache/parser-2.6.4.1.gem +0 -0
  11. data/vendor/ruby/2.6.0/cache/sassc-2.2.0.gem +0 -0
  12. data/vendor/ruby/2.6.0/cache/zeitwerk-2.1.10.gem +0 -0
  13. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem.build_complete +0 -0
  14. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem_make.out +75 -0
  15. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/sassc/libsass.so +0 -0
  16. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/CHANGELOG.md +1085 -0
  17. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Gemfile +10 -0
  18. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/LICENSE +20 -0
  19. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/README.md +237 -0
  20. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Rakefile +53 -0
  21. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/autoprefixer-rails.gemspec +32 -0
  22. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails.rb +41 -0
  23. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/processor.rb +194 -0
  24. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/railtie.rb +50 -0
  25. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/result.rb +24 -0
  26. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/sprockets.rb +62 -0
  27. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/version.rb +3 -0
  28. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/rake/autoprefixer_tasks.rb +28 -0
  29. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/Rakefile +2 -0
  30. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/config/manifest.js +0 -0
  31. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/evaluate.css.erb +1 -0
  32. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/loaded.sass +2 -0
  33. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/sass.sass +1 -0
  34. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/test.css +3 -0
  35. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/wrong.css +2 -0
  36. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/application_controller.rb +2 -0
  37. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/css_controller.rb +6 -0
  38. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config.ru +2 -0
  39. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/application.rb +16 -0
  40. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/autoprefixer.yml +2 -0
  41. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/boot.rb +2 -0
  42. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environment.rb +3 -0
  43. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environments/test.rb +9 -0
  44. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/initializers/secret_token.rb +1 -0
  45. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/routes.rb +3 -0
  46. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/autoprefixer_spec.rb +121 -0
  47. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/processor_spec.rb +25 -0
  48. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/rails_spec.rb +40 -0
  49. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/railtie_spec.rb +29 -0
  50. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/spec_helper.rb +16 -0
  51. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/vendor/autoprefixer.js +67195 -0
  52. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CHANGELOG.md +909 -0
  53. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CONTRIBUTING.md +17 -0
  54. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Gemfile +10 -0
  55. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/LICENSE.txt +25 -0
  56. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/README.md +301 -0
  57. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Rakefile +166 -0
  58. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-parse +7 -0
  59. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-rewrite +7 -0
  60. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/ci/run_rubocop_specs +14 -0
  61. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/AST_FORMAT.md +1816 -0
  62. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/CUSTOMIZATION.md +37 -0
  63. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/INTERNALS.md +21 -0
  64. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/css/common.css +68 -0
  65. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/gauntlet_parser.rb +123 -0
  66. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser.rb +82 -0
  67. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/all.rb +12 -0
  68. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/node.rb +40 -0
  69. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/processor.rb +264 -0
  70. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/base.rb +270 -0
  71. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/builders/default.rb +1741 -0
  72. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/clobbering_error.rb +13 -0
  73. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/color.rb +32 -0
  74. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/context.rb +59 -0
  75. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/current.rb +92 -0
  76. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/deprecation.rb +13 -0
  77. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic.rb +163 -0
  78. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic/engine.rb +105 -0
  79. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rb +23546 -0
  80. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rl +2503 -0
  81. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/dedenter.rb +79 -0
  82. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/explanation.rb +55 -0
  83. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/literal.rb +269 -0
  84. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/max_numparam_stack.rb +42 -0
  85. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/stack_state.rb +49 -0
  86. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.rb +6124 -0
  87. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.y +2198 -0
  88. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/messages.rb +90 -0
  89. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/meta.rb +33 -0
  90. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rewriter.rb +105 -0
  91. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.rb +5661 -0
  92. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.y +1934 -0
  93. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.rb +6084 -0
  94. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.y +2175 -0
  95. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.rb +6511 -0
  96. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.y +2353 -0
  97. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.rb +6570 -0
  98. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.y +2357 -0
  99. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.rb +6605 -0
  100. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.y +2364 -0
  101. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.rb +6624 -0
  102. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.y +2370 -0
  103. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.rb +6689 -0
  104. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.y +2408 -0
  105. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.rb +6656 -0
  106. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.y +2405 -0
  107. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.rb +6670 -0
  108. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.y +2413 -0
  109. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.rb +6893 -0
  110. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.y +2470 -0
  111. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.rb +6078 -0
  112. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.y +2182 -0
  113. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner.rb +253 -0
  114. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_parse.rb +157 -0
  115. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_rewrite.rb +101 -0
  116. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/buffer.rb +330 -0
  117. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment.rb +121 -0
  118. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment/associator.rb +210 -0
  119. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map.rb +186 -0
  120. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/collection.rb +18 -0
  121. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/condition.rb +21 -0
  122. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/constant.rb +32 -0
  123. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/definition.rb +23 -0
  124. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/for.rb +19 -0
  125. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/heredoc.rb +19 -0
  126. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/index.rb +33 -0
  127. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/keyword.rb +20 -0
  128. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/objc_kwarg.rb +19 -0
  129. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/operator.rb +17 -0
  130. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/rescue_body.rb +21 -0
  131. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/send.rb +36 -0
  132. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/ternary.rb +18 -0
  133. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/variable.rb +31 -0
  134. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/range.rb +310 -0
  135. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter.rb +513 -0
  136. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter/action.rb +44 -0
  137. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter.rb +301 -0
  138. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter/action.rb +133 -0
  139. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/static_environment.rb +46 -0
  140. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/syntax_error.rb +21 -0
  141. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/tree_rewriter.rb +134 -0
  142. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/version.rb +5 -0
  143. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/parser.gemspec +51 -0
  144. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/input.rb +5 -0
  145. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/output.rb +5 -0
  146. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/rewriter.rb +20 -0
  147. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/helper.rb +59 -0
  148. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/parse_helper.rb +316 -0
  149. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/racc_coverage_helper.rb +133 -0
  150. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_base.rb +31 -0
  151. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_current.rb +29 -0
  152. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic.rb +96 -0
  153. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic_engine.rb +62 -0
  154. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_encoding.rb +99 -0
  155. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer.rb +3659 -0
  156. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer_stack_state.rb +78 -0
  157. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parse_helper.rb +80 -0
  158. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parser.rb +7579 -0
  159. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_parse.rb +35 -0
  160. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_rewrite.rb +47 -0
  161. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_buffer.rb +162 -0
  162. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment.rb +36 -0
  163. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment_associator.rb +367 -0
  164. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_map.rb +15 -0
  165. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_range.rb +172 -0
  166. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter.rb +541 -0
  167. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter_action.rb +46 -0
  168. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_tree_rewriter.rb +173 -0
  169. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_static_environment.rb +45 -0
  170. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/input.rb +3 -0
  171. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/output.rb +3 -0
  172. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/using_tree_rewriter.rb +9 -0
  173. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CHANGELOG.md +77 -0
  174. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CODE_OF_CONDUCT.md +10 -0
  175. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Gemfile +2 -0
  176. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/LICENSE.txt +22 -0
  177. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/README.md +68 -0
  178. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Rakefile +53 -0
  179. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/Makefile +271 -0
  180. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/SharedPtr.o +0 -0
  181. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast.o +0 -0
  182. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast2c.o +0 -0
  183. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_fwd_decl.o +0 -0
  184. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_cmp.o +0 -0
  185. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_unify.o +0 -0
  186. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_selectors.o +0 -0
  187. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_supports.o +0 -0
  188. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_values.o +0 -0
  189. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/backtrace.o +0 -0
  190. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/base64vlq.o +0 -0
  191. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/bind.o +0 -0
  192. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c2ast.o +0 -0
  193. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c99func.o +0 -0
  194. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cencode.o +0 -0
  195. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/check_nesting.o +0 -0
  196. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/color_maps.o +0 -0
  197. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/constants.o +0 -0
  198. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/context.o +0 -0
  199. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cssize.o +0 -0
  200. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/depend +4 -0
  201. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/emitter.o +0 -0
  202. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/environment.o +0 -0
  203. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/error_handling.o +0 -0
  204. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/eval.o +0 -0
  205. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/expand.o +0 -0
  206. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extconf.rb +84 -0
  207. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extend.o +0 -0
  208. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/file.o +0 -0
  209. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_colors.o +0 -0
  210. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_lists.o +0 -0
  211. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_maps.o +0 -0
  212. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_miscs.o +0 -0
  213. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_numbers.o +0 -0
  214. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_selectors.o +0 -0
  215. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_strings.o +0 -0
  216. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_utils.o +0 -0
  217. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/inspect.o +0 -0
  218. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/json.o +0 -0
  219. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/lexer.o +0 -0
  220. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass.so +0 -0
  221. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/VERSION +1 -0
  222. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/contrib/plugin.cpp +60 -0
  223. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass.h +15 -0
  224. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/base.h +96 -0
  225. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/context.h +170 -0
  226. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/functions.h +139 -0
  227. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/values.h +145 -0
  228. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/version.h +12 -0
  229. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass2scss.h +120 -0
  230. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.cpp +963 -0
  231. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.hpp +905 -0
  232. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.cpp +80 -0
  233. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.hpp +39 -0
  234. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_def_macros.hpp +132 -0
  235. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.cpp +30 -0
  236. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.hpp +341 -0
  237. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_cmp.cpp +909 -0
  238. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_unify.cpp +280 -0
  239. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.cpp +1475 -0
  240. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.hpp +568 -0
  241. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.cpp +130 -0
  242. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.hpp +121 -0
  243. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.cpp +967 -0
  244. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.hpp +489 -0
  245. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/cencode.h +32 -0
  246. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/encode.h +79 -0
  247. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.cpp +50 -0
  248. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.hpp +29 -0
  249. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.cpp +47 -0
  250. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.hpp +30 -0
  251. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.cpp +312 -0
  252. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.hpp +15 -0
  253. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.cpp +64 -0
  254. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.hpp +14 -0
  255. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c99func.c +54 -0
  256. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cencode.c +108 -0
  257. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.cpp +394 -0
  258. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.hpp +66 -0
  259. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.cpp +651 -0
  260. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.hpp +331 -0
  261. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.cpp +194 -0
  262. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.hpp +194 -0
  263. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.cpp +890 -0
  264. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.hpp +152 -0
  265. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.cpp +604 -0
  266. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.hpp +77 -0
  267. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debug.hpp +43 -0
  268. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debugger.hpp +807 -0
  269. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.cpp +298 -0
  270. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.hpp +103 -0
  271. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.cpp +260 -0
  272. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.hpp +119 -0
  273. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.cpp +212 -0
  274. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.hpp +229 -0
  275. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.cpp +1657 -0
  276. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.hpp +112 -0
  277. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.cpp +822 -0
  278. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.hpp +78 -0
  279. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.cpp +2132 -0
  280. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.hpp +86 -0
  281. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.cpp +522 -0
  282. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.hpp +133 -0
  283. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.cpp +594 -0
  284. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.hpp +85 -0
  285. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.cpp +284 -0
  286. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.hpp +34 -0
  287. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.cpp +94 -0
  288. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.hpp +30 -0
  289. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.cpp +256 -0
  290. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.hpp +40 -0
  291. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.cpp +220 -0
  292. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.hpp +45 -0
  293. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.cpp +235 -0
  294. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.hpp +35 -0
  295. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.cpp +254 -0
  296. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.hpp +34 -0
  297. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.cpp +156 -0
  298. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.hpp +56 -0
  299. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.cpp +1087 -0
  300. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.hpp +99 -0
  301. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.cpp +1436 -0
  302. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.hpp +117 -0
  303. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/kwd_arg_macros.hpp +28 -0
  304. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.cpp +184 -0
  305. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.hpp +315 -0
  306. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.cpp +84 -0
  307. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.hpp +38 -0
  308. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/mapping.hpp +18 -0
  309. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.cpp +33 -0
  310. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.hpp +286 -0
  311. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.cpp +322 -0
  312. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.hpp +118 -0
  313. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operation.hpp +213 -0
  314. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.cpp +266 -0
  315. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.hpp +30 -0
  316. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.cpp +339 -0
  317. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.hpp +47 -0
  318. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.cpp +3153 -0
  319. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.hpp +402 -0
  320. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/paths.hpp +71 -0
  321. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.cpp +188 -0
  322. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.hpp +57 -0
  323. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.cpp +184 -0
  324. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.hpp +124 -0
  325. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.cpp +1780 -0
  326. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.hpp +484 -0
  327. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.cpp +87 -0
  328. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.hpp +34 -0
  329. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.cpp +155 -0
  330. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.hpp +142 -0
  331. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass2scss.cpp +895 -0
  332. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.cpp +772 -0
  333. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.hpp +129 -0
  334. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.cpp +210 -0
  335. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.hpp +50 -0
  336. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.cpp +152 -0
  337. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.hpp +256 -0
  338. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.cpp +365 -0
  339. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.hpp +82 -0
  340. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.cpp +198 -0
  341. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.hpp +62 -0
  342. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.cpp +58 -0
  343. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.hpp +76 -0
  344. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.cpp +114 -0
  345. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.hpp +46 -0
  346. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.cpp +505 -0
  347. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.hpp +110 -0
  348. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8.h +34 -0
  349. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/checked.h +336 -0
  350. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/core.h +332 -0
  351. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/unchecked.h +235 -0
  352. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.cpp +105 -0
  353. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.hpp +37 -0
  354. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.cpp +725 -0
  355. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.hpp +106 -0
  356. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.cpp +75 -0
  357. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.hpp +19 -0
  358. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.cpp +140 -0
  359. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.hpp +12 -0
  360. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/listize.o +0 -0
  361. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/node.o +0 -0
  362. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/operators.o +0 -0
  363. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/output.o +0 -0
  364. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/parser.o +0 -0
  365. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/plugins.o +0 -0
  366. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/position.o +0 -0
  367. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/prelexer.o +0 -0
  368. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/remove_placeholders.o +0 -0
  369. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass.o +0 -0
  370. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass2scss.o +0 -0
  371. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_context.o +0 -0
  372. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_functions.o +0 -0
  373. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_util.o +0 -0
  374. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_values.o +0 -0
  375. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/source_map.o +0 -0
  376. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/subset_map.o +0 -0
  377. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/to_value.o +0 -0
  378. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/units.o +0 -0
  379. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/utf8_string.o +0 -0
  380. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util.o +0 -0
  381. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util_string.o +0 -0
  382. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/values.o +0 -0
  383. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc.rb +57 -0
  384. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/dependency.rb +17 -0
  385. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/engine.rb +139 -0
  386. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/error.rb +37 -0
  387. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/functions_handler.rb +73 -0
  388. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/import_handler.rb +50 -0
  389. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/importer.rb +31 -0
  390. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/libsass.so +0 -0
  391. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native.rb +62 -0
  392. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/lib_c.rb +21 -0
  393. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_context_api.rb +147 -0
  394. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_functions_api.rb +159 -0
  395. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass2scss_api.rb +10 -0
  396. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_input_style.rb +13 -0
  397. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_output_style.rb +12 -0
  398. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_value.rb +97 -0
  399. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/string_list.rb +10 -0
  400. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/sass_2_scss.rb +9 -0
  401. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script.rb +17 -0
  402. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/functions.rb +8 -0
  403. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value.rb +137 -0
  404. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/bool.rb +32 -0
  405. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/color.rb +95 -0
  406. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/list.rb +136 -0
  407. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/map.rb +69 -0
  408. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/number.rb +389 -0
  409. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/string.rb +96 -0
  410. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion.rb +69 -0
  411. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/base.rb +13 -0
  412. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/bool.rb +13 -0
  413. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/color.rb +18 -0
  414. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/list.rb +25 -0
  415. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/map.rb +21 -0
  416. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/number.rb +13 -0
  417. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/string.rb +17 -0
  418. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util.rb +231 -0
  419. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util/normalized_map.rb +117 -0
  420. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/version.rb +5 -0
  421. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/sassc.gemspec +69 -0
  422. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/custom_importer_test.rb +127 -0
  423. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/engine_test.rb +314 -0
  424. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/error_test.rb +29 -0
  425. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/fixtures/paths.scss +10 -0
  426. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/functions_test.rb +323 -0
  427. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/native_test.rb +213 -0
  428. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/output_style_test.rb +107 -0
  429. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/sass_2_scss_test.rb +14 -0
  430. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/test_helper.rb +45 -0
  431. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/README.md +533 -0
  432. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk.rb +12 -0
  433. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/error.rb +10 -0
  434. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/explicit_namespace.rb +80 -0
  435. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/gem_inflector.rb +19 -0
  436. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/inflector.rb +19 -0
  437. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb +33 -0
  438. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader.rb +759 -0
  439. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader/callbacks.rb +71 -0
  440. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/real_mod_name.rb +15 -0
  441. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/registry.rb +147 -0
  442. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/version.rb +5 -0
  443. data/vendor/ruby/2.6.0/specifications/autoprefixer-rails-9.6.1.1.gemspec +47 -0
  444. data/vendor/ruby/2.6.0/specifications/parser-2.6.4.1.gemspec +62 -0
  445. data/vendor/ruby/2.6.0/specifications/sassc-2.2.0.gemspec +60 -0
  446. data/vendor/ruby/2.6.0/specifications/zeitwerk-2.1.10.gemspec +21 -0
  447. metadata +441 -4
  448. data/vendor/assets/anjuna/css/anjuna-application.css +0 -2
  449. data/vendor/assets/anjuna/css/anjuna-theme.css +0 -2
@@ -0,0 +1,905 @@
1
+ #ifndef SASS_AST_H
2
+ #define SASS_AST_H
3
+
4
+ // sass.hpp must go before all system headers to get the
5
+ // __EXTENSIONS__ fix on Solaris.
6
+ #include "sass.hpp"
7
+
8
+ #include <set>
9
+ #include <deque>
10
+ #include <vector>
11
+ #include <string>
12
+ #include <sstream>
13
+ #include <iostream>
14
+ #include <typeinfo>
15
+ #include <algorithm>
16
+ #include "sass/base.h"
17
+ #include "ast_fwd_decl.hpp"
18
+
19
+ #include "util.hpp"
20
+ #include "units.hpp"
21
+ #include "context.hpp"
22
+ #include "position.hpp"
23
+ #include "constants.hpp"
24
+ #include "operation.hpp"
25
+ #include "position.hpp"
26
+ #include "inspect.hpp"
27
+ #include "source_map.hpp"
28
+ #include "environment.hpp"
29
+ #include "error_handling.hpp"
30
+ #include "ast_def_macros.hpp"
31
+ #include "ast_fwd_decl.hpp"
32
+ #include "source_map.hpp"
33
+ #include "fn_utils.hpp"
34
+
35
+ #include "sass.h"
36
+
37
+ namespace Sass {
38
+
39
+ // easier to search with name
40
+ const bool DELAYED = true;
41
+
42
+ // ToDo: should this really be hardcoded
43
+ // Note: most methods follow precision option
44
+ const double NUMBER_EPSILON = 1e-12;
45
+
46
+ // macro to test if numbers are equal within a small error margin
47
+ #define NEAR_EQUAL(lhs, rhs) std::fabs(lhs - rhs) < NUMBER_EPSILON
48
+
49
+ // ToDo: where does this fit best?
50
+ // We don't share this with C-API?
51
+ class Operand {
52
+ public:
53
+ Operand(Sass_OP operand, bool ws_before = false, bool ws_after = false)
54
+ : operand(operand), ws_before(ws_before), ws_after(ws_after)
55
+ { }
56
+ public:
57
+ enum Sass_OP operand;
58
+ bool ws_before;
59
+ bool ws_after;
60
+ };
61
+
62
+ //////////////////////////////////////////////////////////
63
+ // `hash_combine` comes from boost (functional/hash):
64
+ // http://www.boost.org/doc/libs/1_35_0/doc/html/hash/combine.html
65
+ // Boost Software License - Version 1.0
66
+ // http://www.boost.org/users/license.html
67
+ template <typename T>
68
+ void hash_combine (std::size_t& seed, const T& val)
69
+ {
70
+ seed ^= std::hash<T>()(val) + 0x9e3779b9
71
+ + (seed<<6) + (seed>>2);
72
+ }
73
+ //////////////////////////////////////////////////////////
74
+
75
+ const char* sass_op_to_name(enum Sass_OP op);
76
+
77
+ const char* sass_op_separator(enum Sass_OP op);
78
+
79
+ //////////////////////////////////////////////////////////
80
+ // Abstract base class for all abstract syntax tree nodes.
81
+ //////////////////////////////////////////////////////////
82
+ class AST_Node : public SharedObj {
83
+ ADD_PROPERTY(ParserState, pstate)
84
+ public:
85
+ AST_Node(ParserState pstate)
86
+ : pstate_(pstate)
87
+ { }
88
+ AST_Node(const AST_Node* ptr)
89
+ : pstate_(ptr->pstate_)
90
+ { }
91
+
92
+ // allow implicit conversion to string
93
+ // needed for by SharedPtr implementation
94
+ operator std::string() {
95
+ return to_string();
96
+ }
97
+
98
+ // AST_Node(AST_Node& ptr) = delete;
99
+
100
+ virtual ~AST_Node() = 0;
101
+ virtual size_t hash() const { return 0; }
102
+ virtual std::string inspect() const { return to_string({ INSPECT, 5 }); }
103
+ virtual std::string to_sass() const { return to_string({ TO_SASS, 5 }); }
104
+ virtual const std::string to_string(Sass_Inspect_Options opt) const;
105
+ virtual const std::string to_string() const;
106
+ virtual void cloneChildren() {};
107
+ // generic find function (not fully implemented yet)
108
+ // ToDo: add specific implementions to all children
109
+ virtual bool find ( bool (*f)(AST_Node_Obj) ) { return f(this); };
110
+ void update_pstate(const ParserState& pstate);
111
+ Offset off() { return pstate(); }
112
+ Position pos() { return pstate(); }
113
+ ATTACH_ABSTRACT_AST_OPERATIONS(AST_Node);
114
+ ATTACH_ABSTRACT_CRTP_PERFORM_METHODS()
115
+ };
116
+ inline AST_Node::~AST_Node() { }
117
+
118
+ //////////////////////////////////////////////////////////////////////
119
+ // define cast template now (need complete type)
120
+ //////////////////////////////////////////////////////////////////////
121
+
122
+ template<class T>
123
+ T* Cast(AST_Node* ptr) {
124
+ return ptr && typeid(T) == typeid(*ptr) ?
125
+ static_cast<T*>(ptr) : NULL;
126
+ };
127
+
128
+ template<class T>
129
+ const T* Cast(const AST_Node* ptr) {
130
+ return ptr && typeid(T) == typeid(*ptr) ?
131
+ static_cast<const T*>(ptr) : NULL;
132
+ };
133
+
134
+ //////////////////////////////////////////////////////////////////////
135
+ // Abstract base class for expressions. This side of the AST hierarchy
136
+ // represents elements in value contexts, which exist primarily to be
137
+ // evaluated and returned.
138
+ //////////////////////////////////////////////////////////////////////
139
+ class Expression : public AST_Node {
140
+ public:
141
+ enum Type {
142
+ NONE,
143
+ BOOLEAN,
144
+ NUMBER,
145
+ COLOR,
146
+ STRING,
147
+ LIST,
148
+ MAP,
149
+ SELECTOR,
150
+ NULL_VAL,
151
+ FUNCTION_VAL,
152
+ C_WARNING,
153
+ C_ERROR,
154
+ FUNCTION,
155
+ VARIABLE,
156
+ PARENT,
157
+ NUM_TYPES
158
+ };
159
+ private:
160
+ // expressions in some contexts shouldn't be evaluated
161
+ ADD_PROPERTY(bool, is_delayed)
162
+ ADD_PROPERTY(bool, is_expanded)
163
+ ADD_PROPERTY(bool, is_interpolant)
164
+ ADD_PROPERTY(Type, concrete_type)
165
+ public:
166
+ Expression(ParserState pstate, bool d = false, bool e = false, bool i = false, Type ct = NONE);
167
+ virtual operator bool() { return true; }
168
+ virtual ~Expression() { }
169
+ virtual bool is_invisible() const { return false; }
170
+
171
+ virtual std::string type() const { return ""; }
172
+ static std::string type_name() { return ""; }
173
+
174
+ virtual bool is_false() { return false; }
175
+ // virtual bool is_true() { return !is_false(); }
176
+ virtual bool operator< (const Expression& rhs) const { return false; }
177
+ virtual bool operator== (const Expression& rhs) const { return false; }
178
+ inline bool operator>(const Expression& rhs) const { return rhs < *this; }
179
+ inline bool operator!=(const Expression& rhs) const { return !(rhs == *this); }
180
+ virtual bool eq(const Expression& rhs) const { return *this == rhs; };
181
+ virtual void set_delayed(bool delayed) { is_delayed(delayed); }
182
+ virtual bool has_interpolant() const { return is_interpolant(); }
183
+ virtual bool is_left_interpolant() const { return is_interpolant(); }
184
+ virtual bool is_right_interpolant() const { return is_interpolant(); }
185
+ ATTACH_VIRTUAL_AST_OPERATIONS(Expression);
186
+ size_t hash() const override { return 0; }
187
+ };
188
+
189
+ }
190
+
191
+ /////////////////////////////////////////////////////////////////////////////////////
192
+ // Hash method specializations for std::unordered_map to work with Sass::Expression
193
+ /////////////////////////////////////////////////////////////////////////////////////
194
+
195
+ namespace std {
196
+ template<>
197
+ struct hash<Sass::Expression_Obj>
198
+ {
199
+ size_t operator()(Sass::Expression_Obj s) const
200
+ {
201
+ return s->hash();
202
+ }
203
+ };
204
+ template<>
205
+ struct equal_to<Sass::Expression_Obj>
206
+ {
207
+ bool operator()( Sass::Expression_Obj lhs, Sass::Expression_Obj rhs) const
208
+ {
209
+ return lhs->hash() == rhs->hash();
210
+ }
211
+ };
212
+ }
213
+
214
+ namespace Sass {
215
+
216
+ /////////////////////////////////////////////////////////////////////////////
217
+ // Mixin class for AST nodes that should behave like vectors. Uses the
218
+ // "Template Method" design pattern to allow subclasses to adjust their flags
219
+ // when certain objects are pushed.
220
+ /////////////////////////////////////////////////////////////////////////////
221
+ template <typename T>
222
+ class Vectorized {
223
+ std::vector<T> elements_;
224
+ protected:
225
+ mutable size_t hash_;
226
+ void reset_hash() { hash_ = 0; }
227
+ virtual void adjust_after_pushing(T element) { }
228
+ public:
229
+ Vectorized(size_t s = 0) : hash_(0)
230
+ { elements_.reserve(s); }
231
+ virtual ~Vectorized() = 0;
232
+ size_t length() const { return elements_.size(); }
233
+ bool empty() const { return elements_.empty(); }
234
+ void clear() { return elements_.clear(); }
235
+ T last() const { return elements_.back(); }
236
+ T first() const { return elements_.front(); }
237
+ T& operator[](size_t i) { return elements_[i]; }
238
+ virtual const T& at(size_t i) const { return elements_.at(i); }
239
+ virtual T& at(size_t i) { return elements_.at(i); }
240
+ const T& get(size_t i) const { return elements_[i]; }
241
+ const T& operator[](size_t i) const { return elements_[i]; }
242
+ virtual void append(T element)
243
+ {
244
+ if (element) {
245
+ reset_hash();
246
+ elements_.push_back(element);
247
+ adjust_after_pushing(element);
248
+ }
249
+ }
250
+ virtual void concat(Vectorized* v)
251
+ {
252
+ for (size_t i = 0, L = v->length(); i < L; ++i) this->append((*v)[i]);
253
+ }
254
+ Vectorized& unshift(T element)
255
+ {
256
+ elements_.insert(elements_.begin(), element);
257
+ return *this;
258
+ }
259
+ std::vector<T>& elements() { return elements_; }
260
+ const std::vector<T>& elements() const { return elements_; }
261
+ std::vector<T>& elements(std::vector<T>& e) { elements_ = e; return elements_; }
262
+
263
+ virtual size_t hash() const
264
+ {
265
+ if (hash_ == 0) {
266
+ for (const T& el : elements_) {
267
+ hash_combine(hash_, el->hash());
268
+ }
269
+ }
270
+ return hash_;
271
+ }
272
+
273
+ template <typename P, typename V>
274
+ typename std::vector<T>::iterator insert(P position, const V& val) {
275
+ reset_hash();
276
+ return elements_.insert(position, val);
277
+ }
278
+
279
+ typename std::vector<T>::iterator end() { return elements_.end(); }
280
+ typename std::vector<T>::iterator begin() { return elements_.begin(); }
281
+ typename std::vector<T>::const_iterator end() const { return elements_.end(); }
282
+ typename std::vector<T>::const_iterator begin() const { return elements_.begin(); }
283
+ typename std::vector<T>::iterator erase(typename std::vector<T>::iterator el) { return elements_.erase(el); }
284
+ typename std::vector<T>::const_iterator erase(typename std::vector<T>::const_iterator el) { return elements_.erase(el); }
285
+
286
+ };
287
+ template <typename T>
288
+ inline Vectorized<T>::~Vectorized() { }
289
+
290
+ /////////////////////////////////////////////////////////////////////////////
291
+ // Mixin class for AST nodes that should behave like a hash table. Uses an
292
+ // extra <std::vector> internally to maintain insertion order for interation.
293
+ /////////////////////////////////////////////////////////////////////////////
294
+ class Hashed {
295
+ private:
296
+ ExpressionMap elements_;
297
+ std::vector<Expression_Obj> list_;
298
+ protected:
299
+ mutable size_t hash_;
300
+ Expression_Obj duplicate_key_;
301
+ void reset_hash() { hash_ = 0; }
302
+ void reset_duplicate_key() { duplicate_key_ = {}; }
303
+ virtual void adjust_after_pushing(std::pair<Expression_Obj, Expression_Obj> p) { }
304
+ public:
305
+ Hashed(size_t s = 0)
306
+ : elements_(ExpressionMap(s)),
307
+ list_(std::vector<Expression_Obj>()),
308
+ hash_(0), duplicate_key_({})
309
+ { elements_.reserve(s); list_.reserve(s); }
310
+ virtual ~Hashed();
311
+ size_t length() const { return list_.size(); }
312
+ bool empty() const { return list_.empty(); }
313
+ bool has(Expression_Obj k) const { return elements_.count(k) == 1; }
314
+ Expression_Obj at(Expression_Obj k) const;
315
+ bool has_duplicate_key() const { return duplicate_key_ != nullptr; }
316
+ Expression_Obj get_duplicate_key() const { return duplicate_key_; }
317
+ const ExpressionMap elements() { return elements_; }
318
+ Hashed& operator<<(std::pair<Expression_Obj, Expression_Obj> p)
319
+ {
320
+ reset_hash();
321
+
322
+ if (!has(p.first)) list_.push_back(p.first);
323
+ else if (!duplicate_key_) duplicate_key_ = p.first;
324
+
325
+ elements_[p.first] = p.second;
326
+
327
+ adjust_after_pushing(p);
328
+ return *this;
329
+ }
330
+ Hashed& operator+=(Hashed* h)
331
+ {
332
+ if (length() == 0) {
333
+ this->elements_ = h->elements_;
334
+ this->list_ = h->list_;
335
+ return *this;
336
+ }
337
+
338
+ for (auto key : h->keys()) {
339
+ *this << std::make_pair(key, h->at(key));
340
+ }
341
+
342
+ reset_duplicate_key();
343
+ return *this;
344
+ }
345
+ const ExpressionMap& pairs() const { return elements_; }
346
+ const std::vector<Expression_Obj>& keys() const { return list_; }
347
+
348
+ // std::unordered_map<Expression_Obj, Expression_Obj>::iterator end() { return elements_.end(); }
349
+ // std::unordered_map<Expression_Obj, Expression_Obj>::iterator begin() { return elements_.begin(); }
350
+ // std::unordered_map<Expression_Obj, Expression_Obj>::const_iterator end() const { return elements_.end(); }
351
+ // std::unordered_map<Expression_Obj, Expression_Obj>::const_iterator begin() const { return elements_.begin(); }
352
+
353
+ };
354
+ inline Hashed::~Hashed() { }
355
+
356
+
357
+ /////////////////////////////////////////////////////////////////////////
358
+ // Abstract base class for statements. This side of the AST hierarchy
359
+ // represents elements in expansion contexts, which exist primarily to be
360
+ // rewritten and macro-expanded.
361
+ /////////////////////////////////////////////////////////////////////////
362
+ class Statement : public AST_Node {
363
+ public:
364
+ enum Type {
365
+ NONE,
366
+ RULESET,
367
+ MEDIA,
368
+ DIRECTIVE,
369
+ SUPPORTS,
370
+ ATROOT,
371
+ BUBBLE,
372
+ CONTENT,
373
+ KEYFRAMERULE,
374
+ DECLARATION,
375
+ ASSIGNMENT,
376
+ IMPORT_STUB,
377
+ IMPORT,
378
+ COMMENT,
379
+ WARNING,
380
+ RETURN,
381
+ EXTEND,
382
+ ERROR,
383
+ DEBUGSTMT,
384
+ WHILE,
385
+ EACH,
386
+ FOR,
387
+ IF
388
+ };
389
+ private:
390
+ ADD_PROPERTY(Type, statement_type)
391
+ ADD_PROPERTY(size_t, tabs)
392
+ ADD_PROPERTY(bool, group_end)
393
+ public:
394
+ Statement(ParserState pstate, Type st = NONE, size_t t = 0);
395
+ virtual ~Statement() = 0; // virtual destructor
396
+ // needed for rearranging nested rulesets during CSS emission
397
+ virtual bool bubbles();
398
+ virtual bool has_content();
399
+ virtual bool is_invisible() const;
400
+ ATTACH_VIRTUAL_AST_OPERATIONS(Statement)
401
+ };
402
+ inline Statement::~Statement() { }
403
+
404
+ ////////////////////////
405
+ // Blocks of statements.
406
+ ////////////////////////
407
+ class Block final : public Statement, public Vectorized<Statement_Obj> {
408
+ ADD_PROPERTY(bool, is_root)
409
+ // needed for properly formatted CSS emission
410
+ protected:
411
+ void adjust_after_pushing(Statement_Obj s) override {}
412
+ public:
413
+ Block(ParserState pstate, size_t s = 0, bool r = false);
414
+ bool has_content() override;
415
+ ATTACH_AST_OPERATIONS(Block)
416
+ ATTACH_CRTP_PERFORM_METHODS()
417
+ };
418
+
419
+ ////////////////////////////////////////////////////////////////////////
420
+ // Abstract base class for statements that contain blocks of statements.
421
+ ////////////////////////////////////////////////////////////////////////
422
+ class Has_Block : public Statement {
423
+ ADD_PROPERTY(Block_Obj, block)
424
+ public:
425
+ Has_Block(ParserState pstate, Block_Obj b);
426
+ Has_Block(const Has_Block* ptr); // copy constructor
427
+ virtual ~Has_Block() = 0; // virtual destructor
428
+ virtual bool has_content() override;
429
+ };
430
+ inline Has_Block::~Has_Block() { }
431
+
432
+ /////////////////////////////////////////////////////////////////////////////
433
+ // Rulesets (i.e., sets of styles headed by a selector and containing a block
434
+ // of style declarations.
435
+ /////////////////////////////////////////////////////////////////////////////
436
+ class Ruleset final : public Has_Block {
437
+ ADD_PROPERTY(Selector_List_Obj, selector)
438
+ ADD_PROPERTY(bool, is_root);
439
+ public:
440
+ Ruleset(ParserState pstate, Selector_List_Obj s = {}, Block_Obj b = {});
441
+ bool is_invisible() const override;
442
+ ATTACH_AST_OPERATIONS(Ruleset)
443
+ ATTACH_CRTP_PERFORM_METHODS()
444
+ };
445
+
446
+ /////////////////
447
+ // Bubble.
448
+ /////////////////
449
+ class Bubble final : public Statement {
450
+ ADD_PROPERTY(Statement_Obj, node)
451
+ ADD_PROPERTY(bool, group_end)
452
+ public:
453
+ Bubble(ParserState pstate, Statement_Obj n, Statement_Obj g = {}, size_t t = 0);
454
+ bool bubbles() override;
455
+ ATTACH_AST_OPERATIONS(Bubble)
456
+ ATTACH_CRTP_PERFORM_METHODS()
457
+ };
458
+
459
+ /////////////////
460
+ // Trace.
461
+ /////////////////
462
+ class Trace final : public Has_Block {
463
+ ADD_CONSTREF(char, type)
464
+ ADD_CONSTREF(std::string, name)
465
+ public:
466
+ Trace(ParserState pstate, std::string n, Block_Obj b = {}, char type = 'm');
467
+ ATTACH_AST_OPERATIONS(Trace)
468
+ ATTACH_CRTP_PERFORM_METHODS()
469
+ };
470
+
471
+ /////////////////
472
+ // Media queries.
473
+ /////////////////
474
+ class Media_Block final : public Has_Block {
475
+ ADD_PROPERTY(List_Obj, media_queries)
476
+ public:
477
+ Media_Block(ParserState pstate, List_Obj mqs, Block_Obj b);
478
+ bool bubbles() override;
479
+ bool is_invisible() const override;
480
+ ATTACH_AST_OPERATIONS(Media_Block)
481
+ ATTACH_CRTP_PERFORM_METHODS()
482
+ };
483
+
484
+ ///////////////////////////////////////////////////////////////////////
485
+ // At-rules -- arbitrary directives beginning with "@" that may have an
486
+ // optional statement block.
487
+ ///////////////////////////////////////////////////////////////////////
488
+ class Directive final : public Has_Block {
489
+ ADD_CONSTREF(std::string, keyword)
490
+ ADD_PROPERTY(Selector_List_Obj, selector)
491
+ ADD_PROPERTY(Expression_Obj, value)
492
+ public:
493
+ Directive(ParserState pstate, std::string kwd, Selector_List_Obj sel = {}, Block_Obj b = {}, Expression_Obj val = {});
494
+ bool bubbles() override;
495
+ bool is_media();
496
+ bool is_keyframes();
497
+ ATTACH_AST_OPERATIONS(Directive)
498
+ ATTACH_CRTP_PERFORM_METHODS()
499
+ };
500
+
501
+ ///////////////////////////////////////////////////////////////////////
502
+ // Keyframe-rules -- the child blocks of "@keyframes" nodes.
503
+ ///////////////////////////////////////////////////////////////////////
504
+ class Keyframe_Rule final : public Has_Block {
505
+ // according to css spec, this should be <keyframes-name>
506
+ // <keyframes-name> = <custom-ident> | <string>
507
+ ADD_PROPERTY(Selector_List_Obj, name)
508
+ public:
509
+ Keyframe_Rule(ParserState pstate, Block_Obj b);
510
+ ATTACH_AST_OPERATIONS(Keyframe_Rule)
511
+ ATTACH_CRTP_PERFORM_METHODS()
512
+ };
513
+
514
+ ////////////////////////////////////////////////////////////////////////
515
+ // Declarations -- style rules consisting of a property name and values.
516
+ ////////////////////////////////////////////////////////////////////////
517
+ class Declaration final : public Has_Block {
518
+ ADD_PROPERTY(String_Obj, property)
519
+ ADD_PROPERTY(Expression_Obj, value)
520
+ ADD_PROPERTY(bool, is_important)
521
+ ADD_PROPERTY(bool, is_custom_property)
522
+ ADD_PROPERTY(bool, is_indented)
523
+ public:
524
+ Declaration(ParserState pstate, String_Obj prop, Expression_Obj val, bool i = false, bool c = false, Block_Obj b = {});
525
+ bool is_invisible() const override;
526
+ ATTACH_AST_OPERATIONS(Declaration)
527
+ ATTACH_CRTP_PERFORM_METHODS()
528
+ };
529
+
530
+ /////////////////////////////////////
531
+ // Assignments -- variable and value.
532
+ /////////////////////////////////////
533
+ class Assignment final : public Statement {
534
+ ADD_CONSTREF(std::string, variable)
535
+ ADD_PROPERTY(Expression_Obj, value)
536
+ ADD_PROPERTY(bool, is_default)
537
+ ADD_PROPERTY(bool, is_global)
538
+ public:
539
+ Assignment(ParserState pstate, std::string var, Expression_Obj val, bool is_default = false, bool is_global = false);
540
+ ATTACH_AST_OPERATIONS(Assignment)
541
+ ATTACH_CRTP_PERFORM_METHODS()
542
+ };
543
+
544
+ ////////////////////////////////////////////////////////////////////////////
545
+ // Import directives. CSS and Sass import lists can be intermingled, so it's
546
+ // necessary to store a list of each in an Import node.
547
+ ////////////////////////////////////////////////////////////////////////////
548
+ class Import final : public Statement {
549
+ std::vector<Expression_Obj> urls_;
550
+ std::vector<Include> incs_;
551
+ ADD_PROPERTY(List_Obj, import_queries);
552
+ public:
553
+ Import(ParserState pstate);
554
+ std::vector<Include>& incs();
555
+ std::vector<Expression_Obj>& urls();
556
+ ATTACH_AST_OPERATIONS(Import)
557
+ ATTACH_CRTP_PERFORM_METHODS()
558
+ };
559
+
560
+ // not yet resolved single import
561
+ // so far we only know requested name
562
+ class Import_Stub final : public Statement {
563
+ Include resource_;
564
+ public:
565
+ Import_Stub(ParserState pstate, Include res);
566
+ Include resource();
567
+ std::string imp_path();
568
+ std::string abs_path();
569
+ ATTACH_AST_OPERATIONS(Import_Stub)
570
+ ATTACH_CRTP_PERFORM_METHODS()
571
+ };
572
+
573
+ //////////////////////////////
574
+ // The Sass `@warn` directive.
575
+ //////////////////////////////
576
+ class Warning final : public Statement {
577
+ ADD_PROPERTY(Expression_Obj, message)
578
+ public:
579
+ Warning(ParserState pstate, Expression_Obj msg);
580
+ ATTACH_AST_OPERATIONS(Warning)
581
+ ATTACH_CRTP_PERFORM_METHODS()
582
+ };
583
+
584
+ ///////////////////////////////
585
+ // The Sass `@error` directive.
586
+ ///////////////////////////////
587
+ class Error final : public Statement {
588
+ ADD_PROPERTY(Expression_Obj, message)
589
+ public:
590
+ Error(ParserState pstate, Expression_Obj msg);
591
+ ATTACH_AST_OPERATIONS(Error)
592
+ ATTACH_CRTP_PERFORM_METHODS()
593
+ };
594
+
595
+ ///////////////////////////////
596
+ // The Sass `@debug` directive.
597
+ ///////////////////////////////
598
+ class Debug final : public Statement {
599
+ ADD_PROPERTY(Expression_Obj, value)
600
+ public:
601
+ Debug(ParserState pstate, Expression_Obj val);
602
+ ATTACH_AST_OPERATIONS(Debug)
603
+ ATTACH_CRTP_PERFORM_METHODS()
604
+ };
605
+
606
+ ///////////////////////////////////////////
607
+ // CSS comments. These may be interpolated.
608
+ ///////////////////////////////////////////
609
+ class Comment final : public Statement {
610
+ ADD_PROPERTY(String_Obj, text)
611
+ ADD_PROPERTY(bool, is_important)
612
+ public:
613
+ Comment(ParserState pstate, String_Obj txt, bool is_important);
614
+ virtual bool is_invisible() const override;
615
+ ATTACH_AST_OPERATIONS(Comment)
616
+ ATTACH_CRTP_PERFORM_METHODS()
617
+ };
618
+
619
+ ////////////////////////////////////
620
+ // The Sass `@if` control directive.
621
+ ////////////////////////////////////
622
+ class If final : public Has_Block {
623
+ ADD_PROPERTY(Expression_Obj, predicate)
624
+ ADD_PROPERTY(Block_Obj, alternative)
625
+ public:
626
+ If(ParserState pstate, Expression_Obj pred, Block_Obj con, Block_Obj alt = {});
627
+ virtual bool has_content() override;
628
+ ATTACH_AST_OPERATIONS(If)
629
+ ATTACH_CRTP_PERFORM_METHODS()
630
+ };
631
+
632
+ /////////////////////////////////////
633
+ // The Sass `@for` control directive.
634
+ /////////////////////////////////////
635
+ class For final : public Has_Block {
636
+ ADD_CONSTREF(std::string, variable)
637
+ ADD_PROPERTY(Expression_Obj, lower_bound)
638
+ ADD_PROPERTY(Expression_Obj, upper_bound)
639
+ ADD_PROPERTY(bool, is_inclusive)
640
+ public:
641
+ For(ParserState pstate, std::string var, Expression_Obj lo, Expression_Obj hi, Block_Obj b, bool inc);
642
+ ATTACH_AST_OPERATIONS(For)
643
+ ATTACH_CRTP_PERFORM_METHODS()
644
+ };
645
+
646
+ //////////////////////////////////////
647
+ // The Sass `@each` control directive.
648
+ //////////////////////////////////////
649
+ class Each final : public Has_Block {
650
+ ADD_PROPERTY(std::vector<std::string>, variables)
651
+ ADD_PROPERTY(Expression_Obj, list)
652
+ public:
653
+ Each(ParserState pstate, std::vector<std::string> vars, Expression_Obj lst, Block_Obj b);
654
+ ATTACH_AST_OPERATIONS(Each)
655
+ ATTACH_CRTP_PERFORM_METHODS()
656
+ };
657
+
658
+ ///////////////////////////////////////
659
+ // The Sass `@while` control directive.
660
+ ///////////////////////////////////////
661
+ class While final : public Has_Block {
662
+ ADD_PROPERTY(Expression_Obj, predicate)
663
+ public:
664
+ While(ParserState pstate, Expression_Obj pred, Block_Obj b);
665
+ ATTACH_AST_OPERATIONS(While)
666
+ ATTACH_CRTP_PERFORM_METHODS()
667
+ };
668
+
669
+ /////////////////////////////////////////////////////////////
670
+ // The @return directive for use inside SassScript functions.
671
+ /////////////////////////////////////////////////////////////
672
+ class Return final : public Statement {
673
+ ADD_PROPERTY(Expression_Obj, value)
674
+ public:
675
+ Return(ParserState pstate, Expression_Obj val);
676
+ ATTACH_AST_OPERATIONS(Return)
677
+ ATTACH_CRTP_PERFORM_METHODS()
678
+ };
679
+
680
+ ////////////////////////////////
681
+ // The Sass `@extend` directive.
682
+ ////////////////////////////////
683
+ class Extension final : public Statement {
684
+ ADD_PROPERTY(Selector_List_Obj, selector)
685
+ public:
686
+ Extension(ParserState pstate, Selector_List_Obj s);
687
+ ATTACH_AST_OPERATIONS(Extension)
688
+ ATTACH_CRTP_PERFORM_METHODS()
689
+ };
690
+
691
+ /////////////////////////////////////////////////////////////////////////////
692
+ // Definitions for both mixins and functions. The two cases are distinguished
693
+ // by a type tag.
694
+ /////////////////////////////////////////////////////////////////////////////
695
+ class Definition final : public Has_Block {
696
+ public:
697
+ enum Type { MIXIN, FUNCTION };
698
+ ADD_CONSTREF(std::string, name)
699
+ ADD_PROPERTY(Parameters_Obj, parameters)
700
+ ADD_PROPERTY(Env*, environment)
701
+ ADD_PROPERTY(Type, type)
702
+ ADD_PROPERTY(Native_Function, native_function)
703
+ ADD_PROPERTY(Sass_Function_Entry, c_function)
704
+ ADD_PROPERTY(void*, cookie)
705
+ ADD_PROPERTY(bool, is_overload_stub)
706
+ ADD_PROPERTY(Signature, signature)
707
+ public:
708
+ Definition(ParserState pstate,
709
+ std::string n,
710
+ Parameters_Obj params,
711
+ Block_Obj b,
712
+ Type t);
713
+ Definition(ParserState pstate,
714
+ Signature sig,
715
+ std::string n,
716
+ Parameters_Obj params,
717
+ Native_Function func_ptr,
718
+ bool overload_stub = false);
719
+ Definition(ParserState pstate,
720
+ Signature sig,
721
+ std::string n,
722
+ Parameters_Obj params,
723
+ Sass_Function_Entry c_func);
724
+ ATTACH_AST_OPERATIONS(Definition)
725
+ ATTACH_CRTP_PERFORM_METHODS()
726
+ };
727
+
728
+ //////////////////////////////////////
729
+ // Mixin calls (i.e., `@include ...`).
730
+ //////////////////////////////////////
731
+ class Mixin_Call final : public Has_Block {
732
+ ADD_CONSTREF(std::string, name)
733
+ ADD_PROPERTY(Arguments_Obj, arguments)
734
+ ADD_PROPERTY(Parameters_Obj, block_parameters)
735
+ public:
736
+ Mixin_Call(ParserState pstate, std::string n, Arguments_Obj args, Parameters_Obj b_params = {}, Block_Obj b = {});
737
+ ATTACH_AST_OPERATIONS(Mixin_Call)
738
+ ATTACH_CRTP_PERFORM_METHODS()
739
+ };
740
+
741
+ ///////////////////////////////////////////////////
742
+ // The @content directive for mixin content blocks.
743
+ ///////////////////////////////////////////////////
744
+ class Content final : public Statement {
745
+ ADD_PROPERTY(Arguments_Obj, arguments)
746
+ public:
747
+ Content(ParserState pstate, Arguments_Obj args);
748
+ ATTACH_AST_OPERATIONS(Content)
749
+ ATTACH_CRTP_PERFORM_METHODS()
750
+ };
751
+
752
+ ////////////////////////////////////////////////////////////////////////////
753
+ // Arithmetic negation (logical negation is just an ordinary function call).
754
+ ////////////////////////////////////////////////////////////////////////////
755
+ class Unary_Expression final : public Expression {
756
+ public:
757
+ enum Type { PLUS, MINUS, NOT, SLASH };
758
+ private:
759
+ HASH_PROPERTY(Type, optype)
760
+ HASH_PROPERTY(Expression_Obj, operand)
761
+ mutable size_t hash_;
762
+ public:
763
+ Unary_Expression(ParserState pstate, Type t, Expression_Obj o);
764
+ const std::string type_name();
765
+ virtual bool operator==(const Expression& rhs) const override;
766
+ size_t hash() const override;
767
+ ATTACH_AST_OPERATIONS(Unary_Expression)
768
+ ATTACH_CRTP_PERFORM_METHODS()
769
+ };
770
+
771
+ ////////////////////////////////////////////////////////////
772
+ // Individual argument objects for mixin and function calls.
773
+ ////////////////////////////////////////////////////////////
774
+ class Argument final : public Expression {
775
+ HASH_PROPERTY(Expression_Obj, value)
776
+ HASH_CONSTREF(std::string, name)
777
+ ADD_PROPERTY(bool, is_rest_argument)
778
+ ADD_PROPERTY(bool, is_keyword_argument)
779
+ mutable size_t hash_;
780
+ public:
781
+ Argument(ParserState pstate, Expression_Obj val, std::string n = "", bool rest = false, bool keyword = false);
782
+ void set_delayed(bool delayed) override;
783
+ bool operator==(const Expression& rhs) const override;
784
+ size_t hash() const override;
785
+ ATTACH_AST_OPERATIONS(Argument)
786
+ ATTACH_CRTP_PERFORM_METHODS()
787
+ };
788
+
789
+ ////////////////////////////////////////////////////////////////////////
790
+ // Argument lists -- in their own class to facilitate context-sensitive
791
+ // error checking (e.g., ensuring that all ordinal arguments precede all
792
+ // named arguments).
793
+ ////////////////////////////////////////////////////////////////////////
794
+ class Arguments final : public Expression, public Vectorized<Argument_Obj> {
795
+ ADD_PROPERTY(bool, has_named_arguments)
796
+ ADD_PROPERTY(bool, has_rest_argument)
797
+ ADD_PROPERTY(bool, has_keyword_argument)
798
+ protected:
799
+ void adjust_after_pushing(Argument_Obj a) override;
800
+ public:
801
+ Arguments(ParserState pstate);
802
+ void set_delayed(bool delayed) override;
803
+ Argument_Obj get_rest_argument();
804
+ Argument_Obj get_keyword_argument();
805
+ ATTACH_AST_OPERATIONS(Arguments)
806
+ ATTACH_CRTP_PERFORM_METHODS()
807
+ };
808
+
809
+ /////////////////
810
+ // Media queries.
811
+ /////////////////
812
+ class Media_Query final : public Expression,
813
+ public Vectorized<Media_Query_Expression_Obj> {
814
+ ADD_PROPERTY(String_Obj, media_type)
815
+ ADD_PROPERTY(bool, is_negated)
816
+ ADD_PROPERTY(bool, is_restricted)
817
+ public:
818
+ Media_Query(ParserState pstate, String_Obj t = {}, size_t s = 0, bool n = false, bool r = false);
819
+ ATTACH_AST_OPERATIONS(Media_Query)
820
+ ATTACH_CRTP_PERFORM_METHODS()
821
+ };
822
+
823
+ ////////////////////////////////////////////////////
824
+ // Media expressions (for use inside media queries).
825
+ ////////////////////////////////////////////////////
826
+ class Media_Query_Expression final : public Expression {
827
+ ADD_PROPERTY(Expression_Obj, feature)
828
+ ADD_PROPERTY(Expression_Obj, value)
829
+ ADD_PROPERTY(bool, is_interpolated)
830
+ public:
831
+ Media_Query_Expression(ParserState pstate, Expression_Obj f, Expression_Obj v, bool i = false);
832
+ ATTACH_AST_OPERATIONS(Media_Query_Expression)
833
+ ATTACH_CRTP_PERFORM_METHODS()
834
+ };
835
+
836
+ /////////////////////////////////////////////////
837
+ // At root expressions (for use inside @at-root).
838
+ /////////////////////////////////////////////////
839
+ class At_Root_Query final : public Expression {
840
+ private:
841
+ ADD_PROPERTY(Expression_Obj, feature)
842
+ ADD_PROPERTY(Expression_Obj, value)
843
+ public:
844
+ At_Root_Query(ParserState pstate, Expression_Obj f = {}, Expression_Obj v = {}, bool i = false);
845
+ bool exclude(std::string str);
846
+ ATTACH_AST_OPERATIONS(At_Root_Query)
847
+ ATTACH_CRTP_PERFORM_METHODS()
848
+ };
849
+
850
+ ///////////
851
+ // At-root.
852
+ ///////////
853
+ class At_Root_Block final : public Has_Block {
854
+ ADD_PROPERTY(At_Root_Query_Obj, expression)
855
+ public:
856
+ At_Root_Block(ParserState pstate, Block_Obj b = {}, At_Root_Query_Obj e = {});
857
+ bool bubbles() override;
858
+ bool exclude_node(Statement_Obj s);
859
+ ATTACH_AST_OPERATIONS(At_Root_Block)
860
+ ATTACH_CRTP_PERFORM_METHODS()
861
+ };
862
+
863
+ /////////////////////////////////////////////////////////
864
+ // Individual parameter objects for mixins and functions.
865
+ /////////////////////////////////////////////////////////
866
+ class Parameter final : public AST_Node {
867
+ ADD_CONSTREF(std::string, name)
868
+ ADD_PROPERTY(Expression_Obj, default_value)
869
+ ADD_PROPERTY(bool, is_rest_parameter)
870
+ public:
871
+ Parameter(ParserState pstate, std::string n, Expression_Obj def = {}, bool rest = false);
872
+ ATTACH_AST_OPERATIONS(Parameter)
873
+ ATTACH_CRTP_PERFORM_METHODS()
874
+ };
875
+
876
+ /////////////////////////////////////////////////////////////////////////
877
+ // Parameter lists -- in their own class to facilitate context-sensitive
878
+ // error checking (e.g., ensuring that all optional parameters follow all
879
+ // required parameters).
880
+ /////////////////////////////////////////////////////////////////////////
881
+ class Parameters final : public AST_Node, public Vectorized<Parameter_Obj> {
882
+ ADD_PROPERTY(bool, has_optional_parameters)
883
+ ADD_PROPERTY(bool, has_rest_parameter)
884
+ protected:
885
+ void adjust_after_pushing(Parameter_Obj p) override;
886
+ public:
887
+ Parameters(ParserState pstate);
888
+ ATTACH_AST_OPERATIONS(Parameters)
889
+ ATTACH_CRTP_PERFORM_METHODS()
890
+ };
891
+
892
+ }
893
+
894
+ #include "ast_values.hpp"
895
+ #include "ast_supports.hpp"
896
+ #include "ast_selectors.hpp"
897
+
898
+ #ifdef __clang__
899
+
900
+ // #pragma clang diagnostic pop
901
+ // #pragma clang diagnostic push
902
+
903
+ #endif
904
+
905
+ #endif