rails-assets-autosize-3.0.17/ 0000755 0001750 0001750 00000000000 12771252376 015115 5 ustar pravi pravi rails-assets-autosize-3.0.17/README.md 0000644 0001750 0001750 00000000645 12771252376 016401 0 ustar pravi pravi # rails-assets-autosize > The Bower package inside a gem This gem was automatically generated. You can visit [rails-assets.org](https://rails-assets.org) for more information. ## Usage Add rails-assets source block to your `Gemfile`: ```ruby source "https://rails-assets.org" do gem "rails-assets-autosize" end ``` Then, import the asset using Sprockets’ `require` directive: ```js //= require "autosize" ``` rails-assets-autosize-3.0.17/rails-assets-autosize.json 0000644 0001750 0001750 00000001307 12771252376 022264 0 ustar pravi pravi { "name": "rails-assets-autosize", "downloads": null, "version": "3.0.17", "version_downloads": null, "platform": "ruby", "authors": "rails-assets.org", "info": "Autosize is a small, stand-alone script to automatically adjust textarea height to fit text.", "licenses": "MIT", "metadata": { }, "sha": null, "project_uri": "http://www.jacklmoore.com/autosize", "gem_uri": null, "homepage_uri": "http://www.jacklmoore.com/autosize", "wiki_uri": null, "documentation_uri": null, "mailing_list_uri": null, "source_code_uri": "http://www.jacklmoore.com/autosize", "bug_tracker_uri": null, "dependencies": { "development": [ ], "runtime": [ ] } } rails-assets-autosize-3.0.17/lib/ 0000755 0001750 0001750 00000000000 12771252376 015663 5 ustar pravi pravi rails-assets-autosize-3.0.17/lib/rails-assets-autosize.rb 0000644 0001750 0001750 00000001327 12771252376 022466 0 ustar pravi pravi require "rails-assets-autosize/version" module RailsAssetsAutosize def self.gem_path Pathname(File.realpath(__FILE__)).join('../..') end def self.gem_spec Gem::Specification::load( gem_path.join("rails-assets-autosize.gemspec").to_s ) end def self.load_paths gem_path.join('app/assets').each_child.to_a end def self.dependencies [ ] end if defined?(Rails) class Engine < ::Rails::Engine # Rails -> use app/assets directory. end end end class RailsAssets @components ||= [] class << self attr_accessor :components def load_paths components.flat_map(&:load_paths) end end end RailsAssets.components << RailsAssetsAutosize rails-assets-autosize-3.0.17/lib/rails-assets-autosize/ 0000755 0001750 0001750 00000000000 12771252376 022136 5 ustar pravi pravi rails-assets-autosize-3.0.17/lib/rails-assets-autosize/version.rb 0000644 0001750 0001750 00000000064 12771252376 024150 0 ustar pravi pravi module RailsAssetsAutosize VERSION = "3.0.17" end rails-assets-autosize-3.0.17/rails-assets-autosize.gemspec 0000644 0001750 0001750 00000001525 12771252376 022740 0 ustar pravi pravi # coding: utf-8 lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'rails-assets-autosize/version' Gem::Specification.new do |spec| spec.name = "rails-assets-autosize" spec.version = RailsAssetsAutosize::VERSION spec.authors = ["rails-assets.org"] spec.description = "Autosize is a small, stand-alone script to automatically adjust textarea height to fit text." spec.summary = "Autosize is a small, stand-alone script to automatically adjust textarea height to fit text." spec.homepage = "http://www.jacklmoore.com/autosize" spec.license = "MIT" spec.files = `find ./* -type f | cut -b 3-`.split($/) spec.require_paths = ["lib"] spec.add_development_dependency "bundler", "~> 1.3" spec.add_development_dependency "rake" end rails-assets-autosize-3.0.17/Rakefile 0000644 0001750 0001750 00000000034 12771252376 016557 0 ustar pravi pravi require 'bundler/gem_tasks' rails-assets-autosize-3.0.17/app/ 0000755 0001750 0001750 00000000000 12771252376 015675 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/ 0000755 0001750 0001750 00000000000 12771252376 017177 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/javascripts/ 0000755 0001750 0001750 00000000000 12771252376 021530 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/javascripts/autosize.js 0000644 0001750 0001750 00000000041 12771252376 023724 0 ustar pravi pravi //= require autosize/autosize.js rails-assets-autosize-3.0.17/app/assets/javascripts/autosize/ 0000755 0001750 0001750 00000000000 12771252376 023373 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/javascripts/autosize/autosize.js 0000644 0001750 0001750 00000015434 12771252376 025603 0 ustar pravi pravi /*! Autosize 3.0.17 license: MIT http://www.jacklmoore.com/autosize */ (function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'module'], factory); } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') { factory(exports, module); } else { var mod = { exports: {} }; factory(mod.exports, mod); global.autosize = mod.exports; } })(this, function (exports, module) { 'use strict'; var set = typeof Set === 'function' ? new Set() : (function () { var list = []; return { has: function has(key) { return Boolean(list.indexOf(key) > -1); }, add: function add(key) { list.push(key); }, 'delete': function _delete(key) { list.splice(list.indexOf(key), 1); } }; })(); var createEvent = function createEvent(name) { return new Event(name); }; try { new Event('test'); } catch (e) { // IE does not support `new Event()` createEvent = function (name) { var evt = document.createEvent('Event'); evt.initEvent(name, true, false); return evt; }; } function assign(ta) { if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || set.has(ta)) return; var heightOffset = null; var clientWidth = ta.clientWidth; var cachedHeight = null; function init() { var style = window.getComputedStyle(ta, null); if (style.resize === 'vertical') { ta.style.resize = 'none'; } else if (style.resize === 'both') { ta.style.resize = 'horizontal'; } if (style.boxSizing === 'content-box') { heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom)); } else { heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth); } // Fix when a textarea is not on document body and heightOffset is Not a Number if (isNaN(heightOffset)) { heightOffset = 0; } update(); } function changeOverflow(value) { { // Chrome/Safari-specific fix: // When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space // made available by removing the scrollbar. The following forces the necessary text reflow. var width = ta.style.width; ta.style.width = '0px'; // Force reflow: /* jshint ignore:start */ ta.offsetWidth; /* jshint ignore:end */ ta.style.width = width; } ta.style.overflowY = value; resize(); } function getParentOverflows(el) { var arr = []; while (el && el.parentNode && el.parentNode instanceof Element) { if (el.parentNode.scrollTop) { arr.push({ node: el.parentNode, scrollTop: el.parentNode.scrollTop }); } el = el.parentNode; } return arr; } function resize() { var originalHeight = ta.style.height; var overflows = getParentOverflows(ta); var docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240) ta.style.height = 'auto'; var endHeight = ta.scrollHeight + heightOffset; if (ta.scrollHeight === 0) { // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM. ta.style.height = originalHeight; return; } ta.style.height = endHeight + 'px'; // used to check if an update is actually necessary on window.resize clientWidth = ta.clientWidth; // prevents scroll-position jumping overflows.forEach(function (el) { el.node.scrollTop = el.scrollTop; }); if (docTop) { document.documentElement.scrollTop = docTop; } } function update() { resize(); var computed = window.getComputedStyle(ta, null); var computedHeight = Math.round(parseFloat(computed.height)); var styleHeight = Math.round(parseFloat(ta.style.height)); // The computed height not matching the height set via resize indicates that // the max-height has been exceeded, in which case the overflow should be set to visible. if (computedHeight !== styleHeight) { if (computed.overflowY !== 'visible') { changeOverflow('visible'); } } else { // Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands. if (computed.overflowY !== 'hidden') { changeOverflow('hidden'); } } if (cachedHeight !== computedHeight) { cachedHeight = computedHeight; var evt = createEvent('autosize:resized'); ta.dispatchEvent(evt); } } var pageResize = function pageResize() { if (ta.clientWidth !== clientWidth) { update(); } }; var destroy = (function (style) { window.removeEventListener('resize', pageResize, false); ta.removeEventListener('input', update, false); ta.removeEventListener('keyup', update, false); ta.removeEventListener('autosize:destroy', destroy, false); ta.removeEventListener('autosize:update', update, false); set['delete'](ta); Object.keys(style).forEach(function (key) { ta.style[key] = style[key]; }); }).bind(ta, { height: ta.style.height, resize: ta.style.resize, overflowY: ta.style.overflowY, overflowX: ta.style.overflowX, wordWrap: ta.style.wordWrap }); ta.addEventListener('autosize:destroy', destroy, false); // IE9 does not fire onpropertychange or oninput for deletions, // so binding to onkeyup to catch most of those events. // There is no way that I know of to detect something like 'cut' in IE9. if ('onpropertychange' in ta && 'oninput' in ta) { ta.addEventListener('keyup', update, false); } window.addEventListener('resize', pageResize, false); ta.addEventListener('input', update, false); ta.addEventListener('autosize:update', update, false); set.add(ta); ta.style.overflowX = 'hidden'; ta.style.wordWrap = 'break-word'; init(); } function destroy(ta) { if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return; var evt = createEvent('autosize:destroy'); ta.dispatchEvent(evt); } function update(ta) { if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return; var evt = createEvent('autosize:update'); ta.dispatchEvent(evt); } var autosize = null; // Do nothing in Node.js environment and IE8 (or lower) if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') { autosize = function (el) { return el; }; autosize.destroy = function (el) { return el; }; autosize.update = function (el) { return el; }; } else { autosize = function (el, options) { if (el) { Array.prototype.forEach.call(el.length ? el : [el], function (x) { return assign(x, options); }); } return el; }; autosize.destroy = function (el) { if (el) { Array.prototype.forEach.call(el.length ? el : [el], destroy); } return el; }; autosize.update = function (el) { if (el) { Array.prototype.forEach.call(el.length ? el : [el], update); } return el; }; } module.exports = autosize; }); rails-assets-autosize-3.0.17/app/assets/templates/ 0000755 0001750 0001750 00000000000 12771252376 021175 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/templates/autosize/ 0000755 0001750 0001750 00000000000 12771252376 023040 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/templates/autosize/example/ 0000755 0001750 0001750 00000000000 12771252376 024473 5 ustar pravi pravi rails-assets-autosize-3.0.17/app/assets/templates/autosize/example/index.html 0000644 0001750 0001750 00000003072 12771252376 026472 0 ustar pravi pravi