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,256 @@
1
+ #ifndef SASS_SASS_UTIL_H
2
+ #define SASS_SASS_UTIL_H
3
+
4
+ #include "ast.hpp"
5
+ #include "node.hpp"
6
+ #include "debug.hpp"
7
+
8
+ namespace Sass {
9
+
10
+
11
+
12
+
13
+ /*
14
+ This is for ports of functions in the Sass:Util module.
15
+ */
16
+
17
+
18
+ /*
19
+ # Return a Node collection of all possible paths through the given Node collection of Node collections.
20
+ #
21
+ # @param arrs [NodeCollection<NodeCollection<Node>>]
22
+ # @return [NodeCollection<NodeCollection<Node>>]
23
+ #
24
+ # @example
25
+ # paths([[1, 2], [3, 4], [5]]) #=>
26
+ # # [[1, 3, 5],
27
+ # # [2, 3, 5],
28
+ # # [1, 4, 5],
29
+ # # [2, 4, 5]]
30
+ */
31
+ Node paths(const Node& arrs);
32
+
33
+
34
+ /*
35
+ This class is a default implementation of a Node comparator that can be passed to the lcs function below.
36
+ It uses operator== for equality comparision. It then returns one if the Nodes are equal.
37
+ */
38
+ class DefaultLcsComparator {
39
+ public:
40
+ bool operator()(const Node& one, const Node& two, Node& out) const {
41
+ // TODO: Is this the correct C++ interpretation?
42
+ // block ||= proc {|a, b| a == b && a}
43
+ if (one == two) {
44
+ out = one;
45
+ return true;
46
+ }
47
+
48
+ return false;
49
+ }
50
+ };
51
+
52
+
53
+ typedef std::vector<std::vector<int> > LCSTable;
54
+
55
+
56
+ /*
57
+ This is the equivalent of ruby's Sass::Util.lcs_backtrace.
58
+
59
+ # Computes a single longest common subsequence for arrays x and y.
60
+ # Algorithm from http://en.wikipedia.org/wiki/Longest_common_subsequence_problem#Reading_out_an_LCS
61
+ */
62
+ template<typename ComparatorType>
63
+ Node lcs_backtrace(const LCSTable& c, const Node& x, const Node& y, int i, int j, const ComparatorType& comparator) {
64
+ DEBUG_PRINTLN(LCS, "LCSBACK: X=" << x << " Y=" << y << " I=" << i << " J=" << j)
65
+
66
+ if (i == 0 || j == 0) {
67
+ DEBUG_PRINTLN(LCS, "RETURNING EMPTY")
68
+ return Node::createCollection();
69
+ }
70
+
71
+ NodeDeque& xChildren = *(x.collection());
72
+ NodeDeque& yChildren = *(y.collection());
73
+
74
+ Node compareOut = Node::createNil();
75
+ if (comparator(xChildren[i], yChildren[j], compareOut)) {
76
+ DEBUG_PRINTLN(LCS, "RETURNING AFTER ELEM COMPARE")
77
+ Node result = lcs_backtrace(c, x, y, i - 1, j - 1, comparator);
78
+ result.collection()->push_back(compareOut);
79
+ return result;
80
+ }
81
+
82
+ if (c[i][j - 1] > c[i - 1][j]) {
83
+ DEBUG_PRINTLN(LCS, "RETURNING AFTER TABLE COMPARE")
84
+ return lcs_backtrace(c, x, y, i, j - 1, comparator);
85
+ }
86
+
87
+ DEBUG_PRINTLN(LCS, "FINAL RETURN")
88
+ return lcs_backtrace(c, x, y, i - 1, j, comparator);
89
+ }
90
+
91
+
92
+ /*
93
+ This is the equivalent of ruby's Sass::Util.lcs_table.
94
+
95
+ # Calculates the memoization table for the Least Common Subsequence algorithm.
96
+ # Algorithm from http://en.wikipedia.org/wiki/Longest_common_subsequence_problem#Computing_the_length_of_the_LCS
97
+ */
98
+ template<typename ComparatorType>
99
+ void lcs_table(const Node& x, const Node& y, const ComparatorType& comparator, LCSTable& out) {
100
+ DEBUG_PRINTLN(LCS, "LCSTABLE: X=" << x << " Y=" << y)
101
+
102
+ NodeDeque& xChildren = *(x.collection());
103
+ NodeDeque& yChildren = *(y.collection());
104
+
105
+ LCSTable c(xChildren.size(), std::vector<int>(yChildren.size()));
106
+
107
+ // These shouldn't be necessary since the vector will be initialized to 0 already.
108
+ // x.size.times {|i| c[i][0] = 0}
109
+ // y.size.times {|j| c[0][j] = 0}
110
+
111
+ for (size_t i = 1; i < xChildren.size(); i++) {
112
+ for (size_t j = 1; j < yChildren.size(); j++) {
113
+ Node compareOut = Node::createNil();
114
+
115
+ if (comparator(xChildren[i], yChildren[j], compareOut)) {
116
+ c[i][j] = c[i - 1][j - 1] + 1;
117
+ } else {
118
+ c[i][j] = std::max(c[i][j - 1], c[i - 1][j]);
119
+ }
120
+ }
121
+ }
122
+
123
+ out = c;
124
+ }
125
+
126
+
127
+ /*
128
+ This is the equivalent of ruby's Sass::Util.lcs.
129
+
130
+ # Computes a single longest common subsequence for `x` and `y`.
131
+ # If there are more than one longest common subsequences,
132
+ # the one returned is that which starts first in `x`.
133
+
134
+ # @param x [NodeCollection]
135
+ # @param y [NodeCollection]
136
+ # @comparator An equality check between elements of `x` and `y`.
137
+ # @return [NodeCollection] The LCS
138
+
139
+ http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
140
+ */
141
+ template<typename ComparatorType>
142
+ Node lcs(Node& x, Node& y, const ComparatorType& comparator) {
143
+ DEBUG_PRINTLN(LCS, "LCS: X=" << x << " Y=" << y)
144
+
145
+ Node newX = Node::createCollection();
146
+ newX.collection()->push_back(Node::createNil());
147
+ newX.plus(x);
148
+
149
+ Node newY = Node::createCollection();
150
+ newY.collection()->push_back(Node::createNil());
151
+ newY.plus(y);
152
+
153
+ LCSTable table;
154
+ lcs_table(newX, newY, comparator, table);
155
+
156
+ return lcs_backtrace(table, newX, newY, static_cast<int>(newX.collection()->size()) - 1, static_cast<int>(newY.collection()->size()) - 1, comparator);
157
+ }
158
+
159
+
160
+ /*
161
+ This is the equivalent of ruby sass' Sass::Util.flatten and [].flatten.
162
+ Sass::Util.flatten requires the number of levels to flatten, while
163
+ [].flatten doesn't and will flatten the entire array. This function
164
+ supports both.
165
+
166
+ # Flattens the first `n` nested arrays. If n == -1, all arrays will be flattened
167
+ #
168
+ # @param arr [NodeCollection] The array to flatten
169
+ # @param n [int] The number of levels to flatten
170
+ # @return [NodeCollection] The flattened array
171
+ */
172
+ Node flatten(Node& arr, int n = -1);
173
+
174
+
175
+ /*
176
+ This is the equivalent of ruby's Sass::Util.group_by_to_a.
177
+
178
+ # Performs the equivalent of `enum.group_by.to_a`, but with a guaranteed
179
+ # order. Unlike [#hash_to_a], the resulting order isn't sorted key order;
180
+ # instead, it's the same order as `#group_by` has under Ruby 1.9 (key
181
+ # appearance order).
182
+ #
183
+ # @param enum [Enumerable]
184
+ # @return [Array<[Object, Array]>] An array of pairs.
185
+
186
+ TODO: update @param and @return once I know what those are.
187
+
188
+ The following is the modified version of the ruby code that was more portable to C++. You
189
+ should be able to drop it into ruby 3.2.19 and get the same results from ruby sass.
190
+
191
+ def group_by_to_a(enum, &block)
192
+ order = {}
193
+
194
+ arr = []
195
+
196
+ grouped = {}
197
+
198
+ for e in enum do
199
+ key = block[e]
200
+ unless order.include?(key)
201
+ order[key] = order.size
202
+ end
203
+
204
+ if not grouped.has_key?(key) then
205
+ grouped[key] = [e]
206
+ else
207
+ grouped[key].push(e)
208
+ end
209
+ end
210
+
211
+ grouped.each do |key, vals|
212
+ arr[order[key]] = [key, vals]
213
+ end
214
+
215
+ arr
216
+ end
217
+
218
+ */
219
+ template<typename EnumType, typename KeyType, typename KeyFunctorType>
220
+ void group_by_to_a(std::vector<EnumType>& enumeration, KeyFunctorType& keyFunc, std::vector<std::pair<KeyType, std::vector<EnumType> > >& arr /*out*/) {
221
+
222
+ std::map<unsigned int, KeyType> order;
223
+
224
+ std::map<size_t, std::vector<EnumType> > grouped;
225
+
226
+ for (typename std::vector<EnumType>::iterator enumIter = enumeration.begin(), enumIterEnd = enumeration.end(); enumIter != enumIterEnd; enumIter++) {
227
+ EnumType& e = *enumIter;
228
+
229
+ KeyType key = keyFunc(e);
230
+
231
+ if (grouped.find(key->hash()) == grouped.end()) {
232
+ order.insert(std::make_pair((unsigned int)order.size(), key));
233
+
234
+ std::vector<EnumType> newCollection;
235
+ newCollection.push_back(e);
236
+ grouped.insert(std::make_pair(key->hash(), newCollection));
237
+ } else {
238
+ std::vector<EnumType>& collection = grouped.at(key->hash());
239
+ collection.push_back(e);
240
+ }
241
+ }
242
+
243
+ for (unsigned int index = 0; index < order.size(); index++) {
244
+ KeyType& key = order.at(index);
245
+ std::vector<EnumType>& values = grouped.at(key->hash());
246
+
247
+ std::pair<KeyType, std::vector<EnumType> > grouping = std::make_pair(key, values);
248
+
249
+ arr.push_back(grouping);
250
+ }
251
+ }
252
+
253
+
254
+ }
255
+
256
+ #endif
@@ -0,0 +1,365 @@
1
+ // sass.hpp must go before all system headers to get the
2
+ // __EXTENSIONS__ fix on Solaris.
3
+ #include "sass.hpp"
4
+
5
+ #include <cstdlib>
6
+ #include <cstring>
7
+ #include "util.hpp"
8
+ #include "eval.hpp"
9
+ #include "values.hpp"
10
+ #include "operators.hpp"
11
+ #include "sass/values.h"
12
+ #include "sass_values.hpp"
13
+
14
+ extern "C" {
15
+ using namespace Sass;
16
+
17
+ // Return the sass tag for a generic sass value
18
+ enum Sass_Tag ADDCALL sass_value_get_tag(const union Sass_Value* v) { return v->unknown.tag; }
19
+
20
+ // Check value for specified type
21
+ bool ADDCALL sass_value_is_null(const union Sass_Value* v) { return v->unknown.tag == SASS_NULL; }
22
+ bool ADDCALL sass_value_is_number(const union Sass_Value* v) { return v->unknown.tag == SASS_NUMBER; }
23
+ bool ADDCALL sass_value_is_string(const union Sass_Value* v) { return v->unknown.tag == SASS_STRING; }
24
+ bool ADDCALL sass_value_is_boolean(const union Sass_Value* v) { return v->unknown.tag == SASS_BOOLEAN; }
25
+ bool ADDCALL sass_value_is_color(const union Sass_Value* v) { return v->unknown.tag == SASS_COLOR; }
26
+ bool ADDCALL sass_value_is_list(const union Sass_Value* v) { return v->unknown.tag == SASS_LIST; }
27
+ bool ADDCALL sass_value_is_map(const union Sass_Value* v) { return v->unknown.tag == SASS_MAP; }
28
+ bool ADDCALL sass_value_is_error(const union Sass_Value* v) { return v->unknown.tag == SASS_ERROR; }
29
+ bool ADDCALL sass_value_is_warning(const union Sass_Value* v) { return v->unknown.tag == SASS_WARNING; }
30
+
31
+ // Getters and setters for Sass_Number
32
+ double ADDCALL sass_number_get_value(const union Sass_Value* v) { return v->number.value; }
33
+ void ADDCALL sass_number_set_value(union Sass_Value* v, double value) { v->number.value = value; }
34
+ const char* ADDCALL sass_number_get_unit(const union Sass_Value* v) { return v->number.unit; }
35
+ void ADDCALL sass_number_set_unit(union Sass_Value* v, char* unit) { v->number.unit = unit; }
36
+
37
+ // Getters and setters for Sass_String
38
+ const char* ADDCALL sass_string_get_value(const union Sass_Value* v) { return v->string.value; }
39
+ void ADDCALL sass_string_set_value(union Sass_Value* v, char* value) { v->string.value = value; }
40
+ bool ADDCALL sass_string_is_quoted(const union Sass_Value* v) { return v->string.quoted; }
41
+ void ADDCALL sass_string_set_quoted(union Sass_Value* v, bool quoted) { v->string.quoted = quoted; }
42
+
43
+ // Getters and setters for Sass_Boolean
44
+ bool ADDCALL sass_boolean_get_value(const union Sass_Value* v) { return v->boolean.value; }
45
+ void ADDCALL sass_boolean_set_value(union Sass_Value* v, bool value) { v->boolean.value = value; }
46
+
47
+ // Getters and setters for Sass_Color
48
+ double ADDCALL sass_color_get_r(const union Sass_Value* v) { return v->color.r; }
49
+ void ADDCALL sass_color_set_r(union Sass_Value* v, double r) { v->color.r = r; }
50
+ double ADDCALL sass_color_get_g(const union Sass_Value* v) { return v->color.g; }
51
+ void ADDCALL sass_color_set_g(union Sass_Value* v, double g) { v->color.g = g; }
52
+ double ADDCALL sass_color_get_b(const union Sass_Value* v) { return v->color.b; }
53
+ void ADDCALL sass_color_set_b(union Sass_Value* v, double b) { v->color.b = b; }
54
+ double ADDCALL sass_color_get_a(const union Sass_Value* v) { return v->color.a; }
55
+ void ADDCALL sass_color_set_a(union Sass_Value* v, double a) { v->color.a = a; }
56
+
57
+ // Getters and setters for Sass_List
58
+ size_t ADDCALL sass_list_get_length(const union Sass_Value* v) { return v->list.length; }
59
+ enum Sass_Separator ADDCALL sass_list_get_separator(const union Sass_Value* v) { return v->list.separator; }
60
+ void ADDCALL sass_list_set_separator(union Sass_Value* v, enum Sass_Separator separator) { v->list.separator = separator; }
61
+ bool ADDCALL sass_list_get_is_bracketed(const union Sass_Value* v) { return v->list.is_bracketed; }
62
+ void ADDCALL sass_list_set_is_bracketed(union Sass_Value* v, bool is_bracketed) { v->list.is_bracketed = is_bracketed; }
63
+ // Getters and setters for Sass_List values
64
+ union Sass_Value* ADDCALL sass_list_get_value(const union Sass_Value* v, size_t i) { return v->list.values[i]; }
65
+ void ADDCALL sass_list_set_value(union Sass_Value* v, size_t i, union Sass_Value* value) { v->list.values[i] = value; }
66
+
67
+ // Getters and setters for Sass_Map
68
+ size_t ADDCALL sass_map_get_length(const union Sass_Value* v) { return v->map.length; }
69
+ // Getters and setters for Sass_List keys and values
70
+ union Sass_Value* ADDCALL sass_map_get_key(const union Sass_Value* v, size_t i) { return v->map.pairs[i].key; }
71
+ union Sass_Value* ADDCALL sass_map_get_value(const union Sass_Value* v, size_t i) { return v->map.pairs[i].value; }
72
+ void ADDCALL sass_map_set_key(union Sass_Value* v, size_t i, union Sass_Value* key) { v->map.pairs[i].key = key; }
73
+ void ADDCALL sass_map_set_value(union Sass_Value* v, size_t i, union Sass_Value* val) { v->map.pairs[i].value = val; }
74
+
75
+ // Getters and setters for Sass_Error
76
+ char* ADDCALL sass_error_get_message(const union Sass_Value* v) { return v->error.message; };
77
+ void ADDCALL sass_error_set_message(union Sass_Value* v, char* msg) { v->error.message = msg; };
78
+
79
+ // Getters and setters for Sass_Warning
80
+ char* ADDCALL sass_warning_get_message(const union Sass_Value* v) { return v->warning.message; };
81
+ void ADDCALL sass_warning_set_message(union Sass_Value* v, char* msg) { v->warning.message = msg; };
82
+
83
+ // Creator functions for all value types
84
+
85
+ union Sass_Value* ADDCALL sass_make_boolean(bool val)
86
+ {
87
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
88
+ if (v == 0) return 0;
89
+ v->boolean.tag = SASS_BOOLEAN;
90
+ v->boolean.value = val;
91
+ return v;
92
+ }
93
+
94
+ union Sass_Value* ADDCALL sass_make_number(double val, const char* unit)
95
+ {
96
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
97
+ if (v == 0) return 0;
98
+ v->number.tag = SASS_NUMBER;
99
+ v->number.value = val;
100
+ v->number.unit = unit ? sass_copy_c_string(unit) : 0;
101
+ if (v->number.unit == 0) { free(v); return 0; }
102
+ return v;
103
+ }
104
+
105
+ union Sass_Value* ADDCALL sass_make_color(double r, double g, double b, double a)
106
+ {
107
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
108
+ if (v == 0) return 0;
109
+ v->color.tag = SASS_COLOR;
110
+ v->color.r = r;
111
+ v->color.g = g;
112
+ v->color.b = b;
113
+ v->color.a = a;
114
+ return v;
115
+ }
116
+
117
+ union Sass_Value* ADDCALL sass_make_string(const char* val)
118
+ {
119
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
120
+ if (v == 0) return 0;
121
+ v->string.quoted = false;
122
+ v->string.tag = SASS_STRING;
123
+ v->string.value = val ? sass_copy_c_string(val) : 0;
124
+ if (v->string.value == 0) { free(v); return 0; }
125
+ return v;
126
+ }
127
+
128
+ union Sass_Value* ADDCALL sass_make_qstring(const char* val)
129
+ {
130
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
131
+ if (v == 0) return 0;
132
+ v->string.quoted = true;
133
+ v->string.tag = SASS_STRING;
134
+ v->string.value = val ? sass_copy_c_string(val) : 0;
135
+ if (v->string.value == 0) { free(v); return 0; }
136
+ return v;
137
+ }
138
+
139
+ union Sass_Value* ADDCALL sass_make_list(size_t len, enum Sass_Separator sep, bool is_bracketed)
140
+ {
141
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
142
+ if (v == 0) return 0;
143
+ v->list.tag = SASS_LIST;
144
+ v->list.length = len;
145
+ v->list.separator = sep;
146
+ v->list.is_bracketed = is_bracketed;
147
+ v->list.values = (union Sass_Value**) calloc(len, sizeof(union Sass_Value*));
148
+ if (v->list.values == 0) { free(v); return 0; }
149
+ return v;
150
+ }
151
+
152
+ union Sass_Value* ADDCALL sass_make_map(size_t len)
153
+ {
154
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
155
+ if (v == 0) return 0;
156
+ v->map.tag = SASS_MAP;
157
+ v->map.length = len;
158
+ v->map.pairs = (struct Sass_MapPair*) calloc(len, sizeof(struct Sass_MapPair));
159
+ if (v->map.pairs == 0) { free(v); return 0; }
160
+ return v;
161
+ }
162
+
163
+ union Sass_Value* ADDCALL sass_make_null(void)
164
+ {
165
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
166
+ if (v == 0) return 0;
167
+ v->null.tag = SASS_NULL;
168
+ return v;
169
+ }
170
+
171
+ union Sass_Value* ADDCALL sass_make_error(const char* msg)
172
+ {
173
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
174
+ if (v == 0) return 0;
175
+ v->error.tag = SASS_ERROR;
176
+ v->error.message = msg ? sass_copy_c_string(msg) : 0;
177
+ if (v->error.message == 0) { free(v); return 0; }
178
+ return v;
179
+ }
180
+
181
+ union Sass_Value* ADDCALL sass_make_warning(const char* msg)
182
+ {
183
+ union Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
184
+ if (v == 0) return 0;
185
+ v->warning.tag = SASS_WARNING;
186
+ v->warning.message = msg ? sass_copy_c_string(msg) : 0;
187
+ if (v->warning.message == 0) { free(v); return 0; }
188
+ return v;
189
+ }
190
+
191
+ // will free all associated sass values
192
+ void ADDCALL sass_delete_value(union Sass_Value* val) {
193
+
194
+ size_t i;
195
+ if (val == 0) return;
196
+ switch(val->unknown.tag) {
197
+ case SASS_NULL: {
198
+ } break;
199
+ case SASS_BOOLEAN: {
200
+ } break;
201
+ case SASS_NUMBER: {
202
+ free(val->number.unit);
203
+ } break;
204
+ case SASS_COLOR: {
205
+ } break;
206
+ case SASS_STRING: {
207
+ free(val->string.value);
208
+ } break;
209
+ case SASS_LIST: {
210
+ for (i=0; i<val->list.length; i++) {
211
+ sass_delete_value(val->list.values[i]);
212
+ }
213
+ free(val->list.values);
214
+ } break;
215
+ case SASS_MAP: {
216
+ for (i=0; i<val->map.length; i++) {
217
+ sass_delete_value(val->map.pairs[i].key);
218
+ sass_delete_value(val->map.pairs[i].value);
219
+ }
220
+ free(val->map.pairs);
221
+ } break;
222
+ case SASS_ERROR: {
223
+ free(val->error.message);
224
+ } break;
225
+ case SASS_WARNING: {
226
+ free(val->error.message);
227
+ } break;
228
+ default: break;
229
+ }
230
+
231
+ free(val);
232
+
233
+ }
234
+
235
+ // Make a deep cloned copy of the given sass value
236
+ union Sass_Value* ADDCALL sass_clone_value (const union Sass_Value* val)
237
+ {
238
+
239
+ size_t i;
240
+ if (val == 0) return 0;
241
+ switch(val->unknown.tag) {
242
+ case SASS_NULL: {
243
+ return sass_make_null();
244
+ }
245
+ case SASS_BOOLEAN: {
246
+ return sass_make_boolean(val->boolean.value);
247
+ }
248
+ case SASS_NUMBER: {
249
+ return sass_make_number(val->number.value, val->number.unit);
250
+ }
251
+ case SASS_COLOR: {
252
+ return sass_make_color(val->color.r, val->color.g, val->color.b, val->color.a);
253
+ }
254
+ case SASS_STRING: {
255
+ return sass_string_is_quoted(val) ? sass_make_qstring(val->string.value) : sass_make_string(val->string.value);
256
+ }
257
+ case SASS_LIST: {
258
+ union Sass_Value* list = sass_make_list(val->list.length, val->list.separator, val->list.is_bracketed);
259
+ for (i = 0; i < list->list.length; i++) {
260
+ list->list.values[i] = sass_clone_value(val->list.values[i]);
261
+ }
262
+ return list;
263
+ }
264
+ case SASS_MAP: {
265
+ union Sass_Value* map = sass_make_map(val->map.length);
266
+ for (i = 0; i < val->map.length; i++) {
267
+ map->map.pairs[i].key = sass_clone_value(val->map.pairs[i].key);
268
+ map->map.pairs[i].value = sass_clone_value(val->map.pairs[i].value);
269
+ }
270
+ return map;
271
+ }
272
+ case SASS_ERROR: {
273
+ return sass_make_error(val->error.message);
274
+ }
275
+ case SASS_WARNING: {
276
+ return sass_make_warning(val->warning.message);
277
+ }
278
+ default: break;
279
+ }
280
+
281
+ return 0;
282
+
283
+ }
284
+
285
+ union Sass_Value* ADDCALL sass_value_stringify (const union Sass_Value* v, bool compressed, int precision)
286
+ {
287
+ Value_Obj val = sass_value_to_ast_node(v);
288
+ Sass_Inspect_Options options(compressed ? COMPRESSED : NESTED, precision);
289
+ std::string str(val->to_string(options));
290
+ return sass_make_qstring(str.c_str());
291
+ }
292
+
293
+ union Sass_Value* ADDCALL sass_value_op (enum Sass_OP op, const union Sass_Value* a, const union Sass_Value* b)
294
+ {
295
+
296
+ Sass::Value_Obj rv;
297
+
298
+ try {
299
+
300
+ Value_Obj lhs = sass_value_to_ast_node(a);
301
+ Value_Obj rhs = sass_value_to_ast_node(b);
302
+ struct Sass_Inspect_Options options(NESTED, 5);
303
+
304
+ // see if it's a relational expression
305
+ switch(op) {
306
+ case Sass_OP::EQ: return sass_make_boolean(Operators::eq(lhs, rhs));
307
+ case Sass_OP::NEQ: return sass_make_boolean(Operators::neq(lhs, rhs));
308
+ case Sass_OP::GT: return sass_make_boolean(Operators::gt(lhs, rhs));
309
+ case Sass_OP::GTE: return sass_make_boolean(Operators::gte(lhs, rhs));
310
+ case Sass_OP::LT: return sass_make_boolean(Operators::lt(lhs, rhs));
311
+ case Sass_OP::LTE: return sass_make_boolean(Operators::lte(lhs, rhs));
312
+ case Sass_OP::AND: return ast_node_to_sass_value(lhs->is_false() ? lhs : rhs);
313
+ case Sass_OP::OR: return ast_node_to_sass_value(lhs->is_false() ? rhs : lhs);
314
+ default: break;
315
+ }
316
+
317
+ if (sass_value_is_number(a) && sass_value_is_number(b)) {
318
+ const Number* l_n = Cast<Number>(lhs);
319
+ const Number* r_n = Cast<Number>(rhs);
320
+ rv = Operators::op_numbers(op, *l_n, *r_n, options, l_n->pstate());
321
+ }
322
+ else if (sass_value_is_number(a) && sass_value_is_color(a)) {
323
+ const Number* l_n = Cast<Number>(lhs);
324
+ // Direct HSLA operations are not supported
325
+ // All color maths will be deprecated anyway
326
+ Color_RGBA_Obj r_c = Cast<Color>(rhs)->toRGBA();
327
+ rv = Operators::op_number_color(op, *l_n, *r_c, options, l_n->pstate());
328
+ }
329
+ else if (sass_value_is_color(a) && sass_value_is_number(b)) {
330
+ // Direct HSLA operations are not supported
331
+ // All color maths will be deprecated anyway
332
+ Color_RGBA_Obj l_c = Cast<Color>(lhs)->toRGBA();
333
+ const Number* r_n = Cast<Number>(rhs);
334
+ rv = Operators::op_color_number(op, *l_c, *r_n, options, l_c->pstate());
335
+ }
336
+ else if (sass_value_is_color(a) && sass_value_is_color(b)) {
337
+ // Direct HSLA operations are not supported
338
+ // All color maths will be deprecated anyway
339
+ Color_RGBA_Obj l_c = Cast<Color>(lhs)->toRGBA();
340
+ Color_RGBA_Obj r_c = Cast<Color>(rhs)->toRGBA();
341
+ rv = Operators::op_colors(op, *l_c, *r_c, options, l_c->pstate());
342
+ }
343
+ else /* convert other stuff to string and apply operation */ {
344
+ Value* l_v = Cast<Value>(lhs);
345
+ Value* r_v = Cast<Value>(rhs);
346
+ rv = Operators::op_strings(op, *l_v, *r_v, options, l_v->pstate());
347
+ }
348
+
349
+ // ToDo: maybe we should should return null value?
350
+ if (!rv) return sass_make_error("invalid return value");
351
+
352
+ // convert result back to ast node
353
+ return ast_node_to_sass_value(rv.ptr());
354
+ }
355
+
356
+ // simply pass the error message back to the caller for now
357
+ catch (Exception::InvalidSass& e) { return sass_make_error(e.what()); }
358
+ catch (std::bad_alloc&) { return sass_make_error("memory exhausted"); }
359
+ catch (std::exception& e) { return sass_make_error(e.what()); }
360
+ catch (std::string& e) { return sass_make_error(e.c_str()); }
361
+ catch (const char* e) { return sass_make_error(e); }
362
+ catch (...) { return sass_make_error("unknown"); }
363
+ }
364
+
365
+ }