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,772 @@
1
+ // sass.hpp must go before all system headers to get the
2
+ // __EXTENSIONS__ fix on Solaris.
3
+ #include "sass.hpp"
4
+
5
+ #include <cstring>
6
+ #include <stdexcept>
7
+ #include <sstream>
8
+ #include <string>
9
+ #include <vector>
10
+
11
+ #include "sass.h"
12
+ #include "ast.hpp"
13
+ #include "file.hpp"
14
+ #include "json.hpp"
15
+ #include "util.hpp"
16
+ #include "context.hpp"
17
+ #include "sass_context.hpp"
18
+ #include "sass_functions.hpp"
19
+ #include "ast_fwd_decl.hpp"
20
+ #include "error_handling.hpp"
21
+
22
+ #define LFEED "\n"
23
+
24
+ // C++ helper
25
+ namespace Sass {
26
+ // see sass_copy_c_string(std::string str)
27
+ static inline JsonNode* json_mkstream(const std::stringstream& stream)
28
+ {
29
+ // hold on to string on stack!
30
+ std::string str(stream.str());
31
+ return json_mkstring(str.c_str());
32
+ }
33
+
34
+ static int handle_error(Sass_Context* c_ctx) {
35
+ try {
36
+ throw;
37
+ }
38
+ catch (Exception::Base& e) {
39
+ std::stringstream msg_stream;
40
+ std::string cwd(Sass::File::get_cwd());
41
+ std::string msg_prefix(e.errtype());
42
+ bool got_newline = false;
43
+ msg_stream << msg_prefix << ": ";
44
+ const char* msg = e.what();
45
+ while (msg && *msg) {
46
+ if (*msg == '\r') {
47
+ got_newline = true;
48
+ }
49
+ else if (*msg == '\n') {
50
+ got_newline = true;
51
+ }
52
+ else if (got_newline) {
53
+ msg_stream << std::string(msg_prefix.size() + 2, ' ');
54
+ got_newline = false;
55
+ }
56
+ msg_stream << *msg;
57
+ ++msg;
58
+ }
59
+ if (!got_newline) msg_stream << "\n";
60
+
61
+ if (e.traces.empty()) {
62
+ // we normally should have some traces, still here as a fallback
63
+ std::string rel_path(Sass::File::abs2rel(e.pstate.path, cwd, cwd));
64
+ msg_stream << std::string(msg_prefix.size() + 2, ' ');
65
+ msg_stream << " on line " << e.pstate.line + 1 << " of " << rel_path << "\n";
66
+ }
67
+ else {
68
+ std::string rel_path(Sass::File::abs2rel(e.pstate.path, cwd, cwd));
69
+ msg_stream << traces_to_string(e.traces, " ");
70
+ }
71
+
72
+ // now create the code trace (ToDo: maybe have util functions?)
73
+ if (e.pstate.line != std::string::npos &&
74
+ e.pstate.column != std::string::npos &&
75
+ e.pstate.src != nullptr) {
76
+ size_t lines = e.pstate.line;
77
+ // scan through src until target line
78
+ // move line_beg pointer to line start
79
+ const char* line_beg;
80
+ for (line_beg = e.pstate.src; *line_beg != '\0'; ++line_beg) {
81
+ if (lines == 0) break;
82
+ if (*line_beg == '\n') --lines;
83
+ }
84
+ // move line_end before next newline character
85
+ const char* line_end;
86
+ for (line_end = line_beg; *line_end != '\0'; ++line_end) {
87
+ if (*line_end == '\n' || *line_end == '\r') break;
88
+ }
89
+ if (*line_end != '\0') ++line_end;
90
+ size_t line_len = line_end - line_beg;
91
+ size_t move_in = 0; size_t shorten = 0;
92
+ size_t left_chars = 42; size_t max_chars = 76;
93
+ // reported excerpt should not exceed `max_chars` chars
94
+ if (e.pstate.column > line_len) left_chars = e.pstate.column;
95
+ if (e.pstate.column > left_chars) move_in = e.pstate.column - left_chars;
96
+ if (line_len > max_chars + move_in) shorten = line_len - move_in - max_chars;
97
+ utf8::advance(line_beg, move_in, line_end);
98
+ utf8::retreat(line_end, shorten, line_beg);
99
+ std::string sanitized; std::string marker(e.pstate.column - move_in, '-');
100
+ utf8::replace_invalid(line_beg, line_end, std::back_inserter(sanitized));
101
+ msg_stream << ">> " << sanitized << "\n";
102
+ msg_stream << " " << marker << "^\n";
103
+ }
104
+
105
+ JsonNode* json_err = json_mkobject();
106
+ json_append_member(json_err, "status", json_mknumber(1));
107
+ json_append_member(json_err, "file", json_mkstring(e.pstate.path));
108
+ json_append_member(json_err, "line", json_mknumber((double)(e.pstate.line + 1)));
109
+ json_append_member(json_err, "column", json_mknumber((double)(e.pstate.column + 1)));
110
+ json_append_member(json_err, "message", json_mkstring(e.what()));
111
+ json_append_member(json_err, "formatted", json_mkstream(msg_stream));
112
+ try { c_ctx->error_json = json_stringify(json_err, " "); }
113
+ catch (...) {}
114
+ c_ctx->error_message = sass_copy_string(msg_stream.str());
115
+ c_ctx->error_text = sass_copy_c_string(e.what());
116
+ c_ctx->error_status = 1;
117
+ c_ctx->error_file = sass_copy_c_string(e.pstate.path);
118
+ c_ctx->error_line = e.pstate.line + 1;
119
+ c_ctx->error_column = e.pstate.column + 1;
120
+ c_ctx->error_src = e.pstate.src;
121
+ c_ctx->output_string = 0;
122
+ c_ctx->source_map_string = 0;
123
+ json_delete(json_err);
124
+ }
125
+ catch (std::bad_alloc& ba) {
126
+ std::stringstream msg_stream;
127
+ JsonNode* json_err = json_mkobject();
128
+ msg_stream << "Unable to allocate memory: " << ba.what() << std::endl;
129
+ json_append_member(json_err, "status", json_mknumber(2));
130
+ json_append_member(json_err, "message", json_mkstring(ba.what()));
131
+ json_append_member(json_err, "formatted", json_mkstream(msg_stream));
132
+ try { c_ctx->error_json = json_stringify(json_err, " "); }
133
+ catch (...) {}
134
+ c_ctx->error_message = sass_copy_string(msg_stream.str());
135
+ c_ctx->error_text = sass_copy_c_string(ba.what());
136
+ c_ctx->error_status = 2;
137
+ c_ctx->output_string = 0;
138
+ c_ctx->source_map_string = 0;
139
+ json_delete(json_err);
140
+ }
141
+ catch (std::exception& e) {
142
+ std::stringstream msg_stream;
143
+ JsonNode* json_err = json_mkobject();
144
+ msg_stream << "Internal Error: " << e.what() << std::endl;
145
+ json_append_member(json_err, "status", json_mknumber(3));
146
+ json_append_member(json_err, "message", json_mkstring(e.what()));
147
+ json_append_member(json_err, "formatted", json_mkstream(msg_stream));
148
+ try { c_ctx->error_json = json_stringify(json_err, " "); }
149
+ catch (...) {}
150
+ c_ctx->error_message = sass_copy_string(msg_stream.str());
151
+ c_ctx->error_text = sass_copy_c_string(e.what());
152
+ c_ctx->error_status = 3;
153
+ c_ctx->output_string = 0;
154
+ c_ctx->source_map_string = 0;
155
+ json_delete(json_err);
156
+ }
157
+ catch (std::string& e) {
158
+ std::stringstream msg_stream;
159
+ JsonNode* json_err = json_mkobject();
160
+ msg_stream << "Internal Error: " << e << std::endl;
161
+ json_append_member(json_err, "status", json_mknumber(4));
162
+ json_append_member(json_err, "message", json_mkstring(e.c_str()));
163
+ json_append_member(json_err, "formatted", json_mkstream(msg_stream));
164
+ try { c_ctx->error_json = json_stringify(json_err, " "); }
165
+ catch (...) {}
166
+ c_ctx->error_message = sass_copy_string(msg_stream.str());
167
+ c_ctx->error_text = sass_copy_c_string(e.c_str());
168
+ c_ctx->error_status = 4;
169
+ c_ctx->output_string = 0;
170
+ c_ctx->source_map_string = 0;
171
+ json_delete(json_err);
172
+ }
173
+ catch (const char* e) {
174
+ std::stringstream msg_stream;
175
+ JsonNode* json_err = json_mkobject();
176
+ msg_stream << "Internal Error: " << e << std::endl;
177
+ json_append_member(json_err, "status", json_mknumber(4));
178
+ json_append_member(json_err, "message", json_mkstring(e));
179
+ json_append_member(json_err, "formatted", json_mkstream(msg_stream));
180
+ try { c_ctx->error_json = json_stringify(json_err, " "); }
181
+ catch (...) {}
182
+ c_ctx->error_message = sass_copy_string(msg_stream.str());
183
+ c_ctx->error_text = sass_copy_c_string(e);
184
+ c_ctx->error_status = 4;
185
+ c_ctx->output_string = 0;
186
+ c_ctx->source_map_string = 0;
187
+ json_delete(json_err);
188
+ }
189
+ catch (...) {
190
+ std::stringstream msg_stream;
191
+ JsonNode* json_err = json_mkobject();
192
+ msg_stream << "Unknown error occurred" << std::endl;
193
+ json_append_member(json_err, "status", json_mknumber(5));
194
+ json_append_member(json_err, "message", json_mkstring("unknown"));
195
+ try { c_ctx->error_json = json_stringify(json_err, " "); }
196
+ catch (...) {}
197
+ c_ctx->error_message = sass_copy_string(msg_stream.str());
198
+ c_ctx->error_text = sass_copy_c_string("unknown");
199
+ c_ctx->error_status = 5;
200
+ c_ctx->output_string = 0;
201
+ c_ctx->source_map_string = 0;
202
+ json_delete(json_err);
203
+ }
204
+ return c_ctx->error_status;
205
+ }
206
+
207
+ // allow one error handler to throw another error
208
+ // this can happen with invalid utf8 and json lib
209
+ static int handle_errors(Sass_Context* c_ctx) {
210
+ try { return handle_error(c_ctx); }
211
+ catch (...) { return handle_error(c_ctx); }
212
+ }
213
+
214
+ static Block_Obj sass_parse_block(Sass_Compiler* compiler) throw()
215
+ {
216
+
217
+ // assert valid pointer
218
+ if (compiler == 0) return {};
219
+ // The cpp context must be set by now
220
+ Context* cpp_ctx = compiler->cpp_ctx;
221
+ Sass_Context* c_ctx = compiler->c_ctx;
222
+ // We will take care to wire up the rest
223
+ compiler->cpp_ctx->c_compiler = compiler;
224
+ compiler->state = SASS_COMPILER_PARSED;
225
+
226
+ try {
227
+
228
+ // get input/output path from options
229
+ std::string input_path = safe_str(c_ctx->input_path);
230
+ std::string output_path = safe_str(c_ctx->output_path);
231
+
232
+ // maybe skip some entries of included files
233
+ // we do not include stdin for data contexts
234
+ bool skip = c_ctx->type == SASS_CONTEXT_DATA;
235
+
236
+ // dispatch parse call
237
+ Block_Obj root(cpp_ctx->parse());
238
+ // abort on errors
239
+ if (!root) return {};
240
+
241
+ // skip all prefixed files? (ToDo: check srcmap)
242
+ // IMO source-maps should point to headers already
243
+ // therefore don't skip it for now. re-enable or
244
+ // remove completely once this is tested
245
+ size_t headers = cpp_ctx->head_imports;
246
+
247
+ // copy the included files on to the context (dont forget to free later)
248
+ if (copy_strings(cpp_ctx->get_included_files(skip, headers), &c_ctx->included_files) == NULL)
249
+ throw(std::bad_alloc());
250
+
251
+ // return parsed block
252
+ return root;
253
+
254
+ }
255
+ // pass errors to generic error handler
256
+ catch (...) { handle_errors(c_ctx); }
257
+
258
+ // error
259
+ return {};
260
+
261
+ }
262
+
263
+ }
264
+
265
+ extern "C" {
266
+ using namespace Sass;
267
+
268
+ static void sass_clear_options (struct Sass_Options* options);
269
+ static void sass_reset_options (struct Sass_Options* options);
270
+ static void copy_options(struct Sass_Options* to, struct Sass_Options* from) {
271
+ // do not overwrite ourself
272
+ if (to == from) return;
273
+ // free assigned memory
274
+ sass_clear_options(to);
275
+ // move memory
276
+ *to = *from;
277
+ // Reset pointers on source
278
+ sass_reset_options(from);
279
+ }
280
+
281
+ #define IMPLEMENT_SASS_OPTION_ACCESSOR(type, option) \
282
+ type ADDCALL sass_option_get_##option (struct Sass_Options* options) { return options->option; } \
283
+ void ADDCALL sass_option_set_##option (struct Sass_Options* options, type option) { options->option = option; }
284
+ #define IMPLEMENT_SASS_OPTION_STRING_GETTER(type, option, def) \
285
+ type ADDCALL sass_option_get_##option (struct Sass_Options* options) { return safe_str(options->option, def); }
286
+ #define IMPLEMENT_SASS_OPTION_STRING_SETTER(type, option, def) \
287
+ void ADDCALL sass_option_set_##option (struct Sass_Options* options, type option) \
288
+ { free(options->option); options->option = option || def ? sass_copy_c_string(option ? option : def) : 0; }
289
+ #define IMPLEMENT_SASS_OPTION_STRING_ACCESSOR(type, option, def) \
290
+ IMPLEMENT_SASS_OPTION_STRING_GETTER(type, option, def) \
291
+ IMPLEMENT_SASS_OPTION_STRING_SETTER(type, option, def)
292
+
293
+ #define IMPLEMENT_SASS_CONTEXT_GETTER(type, option) \
294
+ type ADDCALL sass_context_get_##option (struct Sass_Context* ctx) { return ctx->option; }
295
+ #define IMPLEMENT_SASS_CONTEXT_TAKER(type, option) \
296
+ type sass_context_take_##option (struct Sass_Context* ctx) \
297
+ { type foo = ctx->option; ctx->option = 0; return foo; }
298
+
299
+
300
+ // generic compilation function (not exported, use file/data compile instead)
301
+ static Sass_Compiler* sass_prepare_context (Sass_Context* c_ctx, Context* cpp_ctx) throw()
302
+ {
303
+ try {
304
+ // register our custom functions
305
+ if (c_ctx->c_functions) {
306
+ auto this_func_data = c_ctx->c_functions;
307
+ while (this_func_data && *this_func_data) {
308
+ cpp_ctx->add_c_function(*this_func_data);
309
+ ++this_func_data;
310
+ }
311
+ }
312
+
313
+ // register our custom headers
314
+ if (c_ctx->c_headers) {
315
+ auto this_head_data = c_ctx->c_headers;
316
+ while (this_head_data && *this_head_data) {
317
+ cpp_ctx->add_c_header(*this_head_data);
318
+ ++this_head_data;
319
+ }
320
+ }
321
+
322
+ // register our custom importers
323
+ if (c_ctx->c_importers) {
324
+ auto this_imp_data = c_ctx->c_importers;
325
+ while (this_imp_data && *this_imp_data) {
326
+ cpp_ctx->add_c_importer(*this_imp_data);
327
+ ++this_imp_data;
328
+ }
329
+ }
330
+
331
+ // reset error status
332
+ c_ctx->error_json = 0;
333
+ c_ctx->error_text = 0;
334
+ c_ctx->error_message = 0;
335
+ c_ctx->error_status = 0;
336
+ // reset error position
337
+ c_ctx->error_src = 0;
338
+ c_ctx->error_file = 0;
339
+ c_ctx->error_line = std::string::npos;
340
+ c_ctx->error_column = std::string::npos;
341
+
342
+ // allocate a new compiler instance
343
+ void* ctxmem = calloc(1, sizeof(struct Sass_Compiler));
344
+ if (ctxmem == 0) { std::cerr << "Error allocating memory for context" << std::endl; return 0; }
345
+ Sass_Compiler* compiler = (struct Sass_Compiler*) ctxmem;
346
+ compiler->state = SASS_COMPILER_CREATED;
347
+
348
+ // store in sass compiler
349
+ compiler->c_ctx = c_ctx;
350
+ compiler->cpp_ctx = cpp_ctx;
351
+ cpp_ctx->c_compiler = compiler;
352
+
353
+ // use to parse block
354
+ return compiler;
355
+
356
+ }
357
+ // pass errors to generic error handler
358
+ catch (...) { handle_errors(c_ctx); }
359
+
360
+ // error
361
+ return 0;
362
+
363
+ }
364
+
365
+ // generic compilation function (not exported, use file/data compile instead)
366
+ static int sass_compile_context (Sass_Context* c_ctx, Context* cpp_ctx)
367
+ {
368
+
369
+ // prepare sass compiler with context and options
370
+ Sass_Compiler* compiler = sass_prepare_context(c_ctx, cpp_ctx);
371
+
372
+ try {
373
+ // call each compiler step
374
+ sass_compiler_parse(compiler);
375
+ sass_compiler_execute(compiler);
376
+ }
377
+ // pass errors to generic error handler
378
+ catch (...) { handle_errors(c_ctx); }
379
+
380
+ sass_delete_compiler(compiler);
381
+
382
+ return c_ctx->error_status;
383
+ }
384
+
385
+ inline void init_options (struct Sass_Options* options)
386
+ {
387
+ options->precision = 10;
388
+ options->indent = " ";
389
+ options->linefeed = LFEED;
390
+ }
391
+
392
+ Sass_Options* ADDCALL sass_make_options (void)
393
+ {
394
+ struct Sass_Options* options = (struct Sass_Options*) calloc(1, sizeof(struct Sass_Options));
395
+ if (options == 0) { std::cerr << "Error allocating memory for options" << std::endl; return 0; }
396
+ init_options(options);
397
+ return options;
398
+ }
399
+
400
+ Sass_File_Context* ADDCALL sass_make_file_context(const char* input_path)
401
+ {
402
+ SharedObj::setTaint(true); // needed for static colors
403
+ struct Sass_File_Context* ctx = (struct Sass_File_Context*) calloc(1, sizeof(struct Sass_File_Context));
404
+ if (ctx == 0) { std::cerr << "Error allocating memory for file context" << std::endl; return 0; }
405
+ ctx->type = SASS_CONTEXT_FILE;
406
+ init_options(ctx);
407
+ try {
408
+ if (input_path == 0) { throw(std::runtime_error("File context created without an input path")); }
409
+ if (*input_path == 0) { throw(std::runtime_error("File context created with empty input path")); }
410
+ sass_option_set_input_path(ctx, input_path);
411
+ } catch (...) {
412
+ handle_errors(ctx);
413
+ }
414
+ return ctx;
415
+ }
416
+
417
+ Sass_Data_Context* ADDCALL sass_make_data_context(char* source_string)
418
+ {
419
+ struct Sass_Data_Context* ctx = (struct Sass_Data_Context*) calloc(1, sizeof(struct Sass_Data_Context));
420
+ if (ctx == 0) { std::cerr << "Error allocating memory for data context" << std::endl; return 0; }
421
+ ctx->type = SASS_CONTEXT_DATA;
422
+ init_options(ctx);
423
+ try {
424
+ if (source_string == 0) { throw(std::runtime_error("Data context created without a source string")); }
425
+ if (*source_string == 0) { throw(std::runtime_error("Data context created with empty source string")); }
426
+ ctx->source_string = source_string;
427
+ } catch (...) {
428
+ handle_errors(ctx);
429
+ }
430
+ return ctx;
431
+ }
432
+
433
+ struct Sass_Compiler* ADDCALL sass_make_data_compiler (struct Sass_Data_Context* data_ctx)
434
+ {
435
+ if (data_ctx == 0) return 0;
436
+ Context* cpp_ctx = new Data_Context(*data_ctx);
437
+ return sass_prepare_context(data_ctx, cpp_ctx);
438
+ }
439
+
440
+ struct Sass_Compiler* ADDCALL sass_make_file_compiler (struct Sass_File_Context* file_ctx)
441
+ {
442
+ if (file_ctx == 0) return 0;
443
+ Context* cpp_ctx = new File_Context(*file_ctx);
444
+ return sass_prepare_context(file_ctx, cpp_ctx);
445
+ }
446
+
447
+ int ADDCALL sass_compile_data_context(Sass_Data_Context* data_ctx)
448
+ {
449
+ if (data_ctx == 0) return 1;
450
+ if (data_ctx->error_status)
451
+ return data_ctx->error_status;
452
+ try {
453
+ if (data_ctx->source_string == 0) { throw(std::runtime_error("Data context has no source string")); }
454
+ // empty source string is a valid case, even if not really usefull (different than with file context)
455
+ // if (*data_ctx->source_string == 0) { throw(std::runtime_error("Data context has empty source string")); }
456
+ }
457
+ catch (...) { return handle_errors(data_ctx) | 1; }
458
+ Context* cpp_ctx = new Data_Context(*data_ctx);
459
+ return sass_compile_context(data_ctx, cpp_ctx);
460
+ }
461
+
462
+ int ADDCALL sass_compile_file_context(Sass_File_Context* file_ctx)
463
+ {
464
+ if (file_ctx == 0) return 1;
465
+ if (file_ctx->error_status)
466
+ return file_ctx->error_status;
467
+ try {
468
+ if (file_ctx->input_path == 0) { throw(std::runtime_error("File context has no input path")); }
469
+ if (*file_ctx->input_path == 0) { throw(std::runtime_error("File context has empty input path")); }
470
+ }
471
+ catch (...) { return handle_errors(file_ctx) | 1; }
472
+ Context* cpp_ctx = new File_Context(*file_ctx);
473
+ return sass_compile_context(file_ctx, cpp_ctx);
474
+ }
475
+
476
+ int ADDCALL sass_compiler_parse(struct Sass_Compiler* compiler)
477
+ {
478
+ if (compiler == 0) return 1;
479
+ if (compiler->state == SASS_COMPILER_PARSED) return 0;
480
+ if (compiler->state != SASS_COMPILER_CREATED) return -1;
481
+ if (compiler->c_ctx == NULL) return 1;
482
+ if (compiler->cpp_ctx == NULL) return 1;
483
+ if (compiler->c_ctx->error_status)
484
+ return compiler->c_ctx->error_status;
485
+ // parse the context we have set up (file or data)
486
+ compiler->root = sass_parse_block(compiler);
487
+ // success
488
+ return 0;
489
+ }
490
+
491
+ int ADDCALL sass_compiler_execute(struct Sass_Compiler* compiler)
492
+ {
493
+ if (compiler == 0) return 1;
494
+ if (compiler->state == SASS_COMPILER_EXECUTED) return 0;
495
+ if (compiler->state != SASS_COMPILER_PARSED) return -1;
496
+ if (compiler->c_ctx == NULL) return 1;
497
+ if (compiler->cpp_ctx == NULL) return 1;
498
+ if (compiler->root.isNull()) return 1;
499
+ if (compiler->c_ctx->error_status)
500
+ return compiler->c_ctx->error_status;
501
+ compiler->state = SASS_COMPILER_EXECUTED;
502
+ Context* cpp_ctx = compiler->cpp_ctx;
503
+ Block_Obj root = compiler->root;
504
+ // compile the parsed root block
505
+ try { compiler->c_ctx->output_string = cpp_ctx->render(root); }
506
+ // pass catched errors to generic error handler
507
+ catch (...) { return handle_errors(compiler->c_ctx) | 1; }
508
+ // generate source map json and store on context
509
+ compiler->c_ctx->source_map_string = cpp_ctx->render_srcmap();
510
+ // success
511
+ return 0;
512
+ }
513
+
514
+ // helper function, not exported, only accessible locally
515
+ static void sass_reset_options (struct Sass_Options* options)
516
+ {
517
+ // free pointer before
518
+ // or copy/move them
519
+ options->input_path = 0;
520
+ options->output_path = 0;
521
+ options->plugin_path = 0;
522
+ options->include_path = 0;
523
+ options->source_map_file = 0;
524
+ options->source_map_root = 0;
525
+ options->c_functions = 0;
526
+ options->c_importers = 0;
527
+ options->c_headers = 0;
528
+ options->plugin_paths = 0;
529
+ options->include_paths = 0;
530
+ }
531
+
532
+ // helper function, not exported, only accessible locally
533
+ static void sass_clear_options (struct Sass_Options* options)
534
+ {
535
+ if (options == 0) return;
536
+ // Deallocate custom functions, headers and importes
537
+ sass_delete_function_list(options->c_functions);
538
+ sass_delete_importer_list(options->c_importers);
539
+ sass_delete_importer_list(options->c_headers);
540
+ // Deallocate inc paths
541
+ if (options->plugin_paths) {
542
+ struct string_list* cur;
543
+ struct string_list* next;
544
+ cur = options->plugin_paths;
545
+ while (cur) {
546
+ next = cur->next;
547
+ free(cur->string);
548
+ free(cur);
549
+ cur = next;
550
+ }
551
+ }
552
+ // Deallocate inc paths
553
+ if (options->include_paths) {
554
+ struct string_list* cur;
555
+ struct string_list* next;
556
+ cur = options->include_paths;
557
+ while (cur) {
558
+ next = cur->next;
559
+ free(cur->string);
560
+ free(cur);
561
+ cur = next;
562
+ }
563
+ }
564
+ // Free options strings
565
+ free(options->input_path);
566
+ free(options->output_path);
567
+ free(options->plugin_path);
568
+ free(options->include_path);
569
+ free(options->source_map_file);
570
+ free(options->source_map_root);
571
+ // Reset our pointers
572
+ options->input_path = 0;
573
+ options->output_path = 0;
574
+ options->plugin_path = 0;
575
+ options->include_path = 0;
576
+ options->source_map_file = 0;
577
+ options->source_map_root = 0;
578
+ options->c_functions = 0;
579
+ options->c_importers = 0;
580
+ options->c_headers = 0;
581
+ options->plugin_paths = 0;
582
+ options->include_paths = 0;
583
+ }
584
+
585
+ // helper function, not exported, only accessible locally
586
+ // sass_free_context is also defined in old sass_interface
587
+ static void sass_clear_context (struct Sass_Context* ctx)
588
+ {
589
+ if (ctx == 0) return;
590
+ // release the allocated memory (mostly via sass_copy_c_string)
591
+ if (ctx->output_string) free(ctx->output_string);
592
+ if (ctx->source_map_string) free(ctx->source_map_string);
593
+ if (ctx->error_message) free(ctx->error_message);
594
+ if (ctx->error_text) free(ctx->error_text);
595
+ if (ctx->error_json) free(ctx->error_json);
596
+ if (ctx->error_file) free(ctx->error_file);
597
+ free_string_array(ctx->included_files);
598
+ // play safe and reset properties
599
+ ctx->output_string = 0;
600
+ ctx->source_map_string = 0;
601
+ ctx->error_message = 0;
602
+ ctx->error_text = 0;
603
+ ctx->error_json = 0;
604
+ ctx->error_file = 0;
605
+ ctx->included_files = 0;
606
+ // debug leaked memory
607
+ #ifdef DEBUG_SHARED_PTR
608
+ SharedObj::dumpMemLeaks();
609
+ #endif
610
+ // now clear the options
611
+ sass_clear_options(ctx);
612
+ }
613
+
614
+ void ADDCALL sass_delete_compiler (struct Sass_Compiler* compiler)
615
+ {
616
+ if (compiler == 0) {
617
+ return;
618
+ }
619
+ Context* cpp_ctx = compiler->cpp_ctx;
620
+ if (cpp_ctx) delete(cpp_ctx);
621
+ compiler->cpp_ctx = NULL;
622
+ compiler->c_ctx = NULL;
623
+ compiler->root = {};
624
+ free(compiler);
625
+ }
626
+
627
+ void ADDCALL sass_delete_options (struct Sass_Options* options)
628
+ {
629
+ sass_clear_options(options); free(options);
630
+ }
631
+
632
+ // Deallocate all associated memory with file context
633
+ void ADDCALL sass_delete_file_context (struct Sass_File_Context* ctx)
634
+ {
635
+ // clear the context and free it
636
+ sass_clear_context(ctx); free(ctx);
637
+ }
638
+ // Deallocate all associated memory with data context
639
+ void ADDCALL sass_delete_data_context (struct Sass_Data_Context* ctx)
640
+ {
641
+ // clean the source string if it was not passed
642
+ // we reset this member once we start parsing
643
+ if (ctx->source_string) free(ctx->source_string);
644
+ // clear the context and free it
645
+ sass_clear_context(ctx); free(ctx);
646
+ }
647
+
648
+ // Getters for sass context from specific implementations
649
+ struct Sass_Context* ADDCALL sass_file_context_get_context(struct Sass_File_Context* ctx) { return ctx; }
650
+ struct Sass_Context* ADDCALL sass_data_context_get_context(struct Sass_Data_Context* ctx) { return ctx; }
651
+
652
+ // Getters for context options from Sass_Context
653
+ struct Sass_Options* ADDCALL sass_context_get_options(struct Sass_Context* ctx) { return ctx; }
654
+ struct Sass_Options* ADDCALL sass_file_context_get_options(struct Sass_File_Context* ctx) { return ctx; }
655
+ struct Sass_Options* ADDCALL sass_data_context_get_options(struct Sass_Data_Context* ctx) { return ctx; }
656
+ void ADDCALL sass_file_context_set_options (struct Sass_File_Context* ctx, struct Sass_Options* opt) { copy_options(ctx, opt); }
657
+ void ADDCALL sass_data_context_set_options (struct Sass_Data_Context* ctx, struct Sass_Options* opt) { copy_options(ctx, opt); }
658
+
659
+ // Getters for Sass_Compiler options (get conected sass context)
660
+ enum Sass_Compiler_State ADDCALL sass_compiler_get_state(struct Sass_Compiler* compiler) { return compiler->state; }
661
+ struct Sass_Context* ADDCALL sass_compiler_get_context(struct Sass_Compiler* compiler) { return compiler->c_ctx; }
662
+ struct Sass_Options* ADDCALL sass_compiler_get_options(struct Sass_Compiler* compiler) { return compiler->c_ctx; }
663
+ // Getters for Sass_Compiler options (query import stack)
664
+ size_t ADDCALL sass_compiler_get_import_stack_size(struct Sass_Compiler* compiler) { return compiler->cpp_ctx->import_stack.size(); }
665
+ Sass_Import_Entry ADDCALL sass_compiler_get_last_import(struct Sass_Compiler* compiler) { return compiler->cpp_ctx->import_stack.back(); }
666
+ Sass_Import_Entry ADDCALL sass_compiler_get_import_entry(struct Sass_Compiler* compiler, size_t idx) { return compiler->cpp_ctx->import_stack[idx]; }
667
+ // Getters for Sass_Compiler options (query function stack)
668
+ size_t ADDCALL sass_compiler_get_callee_stack_size(struct Sass_Compiler* compiler) { return compiler->cpp_ctx->callee_stack.size(); }
669
+ Sass_Callee_Entry ADDCALL sass_compiler_get_last_callee(struct Sass_Compiler* compiler) { return &compiler->cpp_ctx->callee_stack.back(); }
670
+ Sass_Callee_Entry ADDCALL sass_compiler_get_callee_entry(struct Sass_Compiler* compiler, size_t idx) { return &compiler->cpp_ctx->callee_stack[idx]; }
671
+
672
+ // Calculate the size of the stored null terminated array
673
+ size_t ADDCALL sass_context_get_included_files_size (struct Sass_Context* ctx)
674
+ { size_t l = 0; auto i = ctx->included_files; while (i && *i) { ++i; ++l; } return l; }
675
+
676
+ // Create getter and setters for options
677
+ IMPLEMENT_SASS_OPTION_ACCESSOR(int, precision);
678
+ IMPLEMENT_SASS_OPTION_ACCESSOR(enum Sass_Output_Style, output_style);
679
+ IMPLEMENT_SASS_OPTION_ACCESSOR(bool, source_comments);
680
+ IMPLEMENT_SASS_OPTION_ACCESSOR(bool, source_map_embed);
681
+ IMPLEMENT_SASS_OPTION_ACCESSOR(bool, source_map_contents);
682
+ IMPLEMENT_SASS_OPTION_ACCESSOR(bool, source_map_file_urls);
683
+ IMPLEMENT_SASS_OPTION_ACCESSOR(bool, omit_source_map_url);
684
+ IMPLEMENT_SASS_OPTION_ACCESSOR(bool, is_indented_syntax_src);
685
+ IMPLEMENT_SASS_OPTION_ACCESSOR(Sass_Function_List, c_functions);
686
+ IMPLEMENT_SASS_OPTION_ACCESSOR(Sass_Importer_List, c_importers);
687
+ IMPLEMENT_SASS_OPTION_ACCESSOR(Sass_Importer_List, c_headers);
688
+ IMPLEMENT_SASS_OPTION_ACCESSOR(const char*, indent);
689
+ IMPLEMENT_SASS_OPTION_ACCESSOR(const char*, linefeed);
690
+ IMPLEMENT_SASS_OPTION_STRING_SETTER(const char*, plugin_path, 0);
691
+ IMPLEMENT_SASS_OPTION_STRING_SETTER(const char*, include_path, 0);
692
+ IMPLEMENT_SASS_OPTION_STRING_ACCESSOR(const char*, input_path, 0);
693
+ IMPLEMENT_SASS_OPTION_STRING_ACCESSOR(const char*, output_path, 0);
694
+ IMPLEMENT_SASS_OPTION_STRING_ACCESSOR(const char*, source_map_file, 0);
695
+ IMPLEMENT_SASS_OPTION_STRING_ACCESSOR(const char*, source_map_root, 0);
696
+
697
+ // Create getter and setters for context
698
+ IMPLEMENT_SASS_CONTEXT_GETTER(int, error_status);
699
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, error_json);
700
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, error_message);
701
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, error_text);
702
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, error_file);
703
+ IMPLEMENT_SASS_CONTEXT_GETTER(size_t, error_line);
704
+ IMPLEMENT_SASS_CONTEXT_GETTER(size_t, error_column);
705
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, error_src);
706
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, output_string);
707
+ IMPLEMENT_SASS_CONTEXT_GETTER(const char*, source_map_string);
708
+ IMPLEMENT_SASS_CONTEXT_GETTER(char**, included_files);
709
+
710
+ // Take ownership of memory (value on context is set to 0)
711
+ IMPLEMENT_SASS_CONTEXT_TAKER(char*, error_json);
712
+ IMPLEMENT_SASS_CONTEXT_TAKER(char*, error_message);
713
+ IMPLEMENT_SASS_CONTEXT_TAKER(char*, error_text);
714
+ IMPLEMENT_SASS_CONTEXT_TAKER(char*, error_file);
715
+ IMPLEMENT_SASS_CONTEXT_TAKER(char*, output_string);
716
+ IMPLEMENT_SASS_CONTEXT_TAKER(char*, source_map_string);
717
+ IMPLEMENT_SASS_CONTEXT_TAKER(char**, included_files);
718
+
719
+ // Push function for include paths (no manipulation support for now)
720
+ void ADDCALL sass_option_push_include_path(struct Sass_Options* options, const char* path)
721
+ {
722
+
723
+ struct string_list* include_path = (struct string_list*) calloc(1, sizeof(struct string_list));
724
+ if (include_path == 0) return;
725
+ include_path->string = path ? sass_copy_c_string(path) : 0;
726
+ struct string_list* last = options->include_paths;
727
+ if (!options->include_paths) {
728
+ options->include_paths = include_path;
729
+ } else {
730
+ while (last->next)
731
+ last = last->next;
732
+ last->next = include_path;
733
+ }
734
+
735
+ }
736
+
737
+ // Push function for include paths (no manipulation support for now)
738
+ size_t ADDCALL sass_option_get_include_path_size(struct Sass_Options* options)
739
+ {
740
+ size_t len = 0;
741
+ struct string_list* cur = options->include_paths;
742
+ while (cur) { len ++; cur = cur->next; }
743
+ return len;
744
+ }
745
+
746
+ // Push function for include paths (no manipulation support for now)
747
+ const char* ADDCALL sass_option_get_include_path(struct Sass_Options* options, size_t i)
748
+ {
749
+ struct string_list* cur = options->include_paths;
750
+ while (i) { i--; cur = cur->next; }
751
+ return cur->string;
752
+ }
753
+
754
+ // Push function for plugin paths (no manipulation support for now)
755
+ void ADDCALL sass_option_push_plugin_path(struct Sass_Options* options, const char* path)
756
+ {
757
+
758
+ struct string_list* plugin_path = (struct string_list*) calloc(1, sizeof(struct string_list));
759
+ if (plugin_path == 0) return;
760
+ plugin_path->string = path ? sass_copy_c_string(path) : 0;
761
+ struct string_list* last = options->plugin_paths;
762
+ if (!options->plugin_paths) {
763
+ options->plugin_paths = plugin_path;
764
+ } else {
765
+ while (last->next)
766
+ last = last->next;
767
+ last->next = plugin_path;
768
+ }
769
+
770
+ }
771
+
772
+ }