├── .babelrc ├── .editorconfig ├── .eslintrc ├── .github ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── stale.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── CONTRIBURING.md ├── LICENSE ├── NOTICE ├── README.md ├── bower.json ├── config ├── banner.js ├── changelog.js ├── commit.template ├── release.js ├── uglify.js ├── validate-commit-msg.js ├── webpack.config.development.js ├── webpack.config.packaged.js └── webpack.config.production.js ├── demo ├── _config.yml ├── _data │ └── egjs.yml ├── _includes │ ├── facebook.html │ ├── footer.html │ ├── head.html │ ├── header.html │ └── promo.html ├── _layouts │ ├── gallery.html │ └── page.html ├── assets │ ├── css │ │ └── demo.css │ ├── html │ │ └── demo.html │ └── js │ │ └── demo.js ├── common │ ├── css │ │ ├── bootstrap.min.css │ │ ├── font-awesome.min.css │ │ ├── gallery.css │ │ ├── monokai.css │ │ └── page.css │ ├── image │ │ ├── cp-arrow-right.svg │ │ ├── logo.svg │ │ ├── logo_mono.svg │ │ ├── logo_mono_black.svg │ │ ├── type_black.svg │ │ └── type_white.svg │ └── js │ │ ├── app.js │ │ ├── bootstrap.min.js │ │ └── jquery-2.2.4.js ├── demo.md ├── gallery.md ├── index.md └── started.md ├── jsdoc.json ├── karma.conf.js ├── mocha.opts ├── package-lock.json ├── package.json ├── src ├── Visible.js ├── index.js └── utils.js ├── test ├── manual │ ├── index.html │ ├── js │ │ └── test.js │ └── observer │ │ ├── index.html │ │ └── js │ │ └── test.js └── unit │ ├── fixed.tmpl.html │ ├── list.tmpl.html │ ├── observe.tmpl.html │ ├── pre.tmpl.html │ ├── targetContainer.tmpl.html │ ├── utils.spec.js │ └── visible.spec.js ├── webpack.config.js └── webpack.parts.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "es2015", 5 | { 6 | "loose": true 7 | } 8 | ] 9 | ], 10 | "plugins": [ 11 | "add-module-exports", 12 | "transform-object-assign", 13 | "transform-es3-property-literals", 14 | "transform-es3-member-expression-literals" 15 | ] 16 | } -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*.js] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_style = tab 8 | insert_final_newline = true 9 | max_line_length = 80 10 | trim_trailing_whitespace = true 11 | 12 | [{package.json,.travis.yml}] 13 | indent_style = space 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | // Naver https://github.com/naver/eslint-config-naver/blob/master/STYLE_GUIDE.md 3 | "extends": "naver", 4 | "rules": { 5 | "comma-dangle": ["error", { 6 | "arrays": "always-multiline", 7 | "objects": "always-multiline", 8 | "imports": "always-multiline", 9 | "exports": "always-multiline", 10 | "functions": "never" 11 | }] 12 | } 13 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | 4 | ## Steps to check or reproduce 5 | 6 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Issue 2 | 3 | 4 | ## Details 5 | 6 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an issue becomes stale 2 | daysUntilStale: 30 3 | # Number of days of inactivity before a stale issue is closed 4 | daysUntilClose: 7 5 | # Issues with these labels will never be considered stale 6 | exemptLabels: 7 | - wontstale 8 | # Label to use when marking an issue as stale 9 | staleLabel: stale 10 | # Comment to post when marking an issue as stale. Set to `false` to disable 11 | markComment: > 12 | This issue/PR has been automatically marked as stale because it has not had any update (including 13 | commits, comments, labels, milestones, etc) for 30 days. It will be closed automatically if no 14 | further update occurs in 7 day. Thank you for your contributions! 15 |
한글 16 | 이 이슈/PR은 commits, comments, labels, milestones 등 30일간 활동이 없어 자동으로 stale 상태로 전환되었습니다. 이후 7일간 활동이 없다면 자동으로 닫힐 예정입니다. 프로젝트 개선에 기여해주셔서 감사합니다. 17 |
18 | # Comment to post when closing a stale issue. Set to `false` to disable 19 | closeComment: false 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/node,bower,osx,windows,webstorm,jekyll,sublimetext,visualstudiocode 2 | 3 | ### Node ### 4 | # Logs 5 | logs 6 | *.log 7 | npm-debug.log* 8 | 9 | # Runtime data 10 | pids 11 | *.pid 12 | *.seed 13 | *.pid.lock 14 | 15 | # Directory for instrumented libs generated by jscoverage/JSCover 16 | lib-cov 17 | 18 | # Coverage directory used by tools like istanbul 19 | coverage 20 | 21 | # nyc test coverage 22 | .nyc_output 23 | 24 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 25 | .grunt 26 | 27 | # node-waf configuration 28 | .lock-wscript 29 | # Compiled binary addons (http://nodejs.org/api/addons.html) 30 | build/Release 31 | 32 | # Dependency directories 33 | node_modules 34 | jspm_packages 35 | 36 | # Optional npm cache directory 37 | .npm 38 | 39 | # Optional eslint cache 40 | .eslintcache 41 | 42 | # Optional REPL history 43 | .node_repl_history 44 | 45 | # Output of 'npm pack' 46 | *.tgz 47 | 48 | # Yarn Integrity file 49 | .yarn-integrity 50 | 51 | 52 | 53 | ### Bower ### 54 | bower_components 55 | .bower-cache 56 | .bower-registry 57 | .bower-tmp 58 | 59 | 60 | ### OSX ### 61 | *.DS_Store 62 | .AppleDouble 63 | .LSOverride 64 | 65 | # Icon must end with two \r 66 | Icon 67 | # Thumbnails 68 | ._* 69 | # Files that might appear in the root of a volume 70 | .DocumentRevisions-V100 71 | .fseventsd 72 | .Spotlight-V100 73 | .TemporaryItems 74 | .Trashes 75 | .VolumeIcon.icns 76 | .com.apple.timemachine.donotpresent 77 | # Directories potentially created on remote AFP share 78 | .AppleDB 79 | .AppleDesktop 80 | Network Trash Folder 81 | Temporary Items 82 | .apdisk 83 | 84 | 85 | ### Windows ### 86 | # Windows image file caches 87 | Thumbs.db 88 | ehthumbs.db 89 | 90 | # Folder config file 91 | Desktop.ini 92 | 93 | # Recycle Bin used on file shares 94 | $RECYCLE.BIN/ 95 | 96 | # Windows Installer files 97 | *.cab 98 | *.msi 99 | *.msm 100 | *.msp 101 | 102 | # Windows shortcuts 103 | *.lnk 104 | 105 | 106 | ### WebStorm ### 107 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm 108 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 109 | 110 | # User-specific stuff: 111 | .idea/ 112 | .idea/workspace.xml 113 | .idea/tasks.xml 114 | 115 | # Sensitive or high-churn files: 116 | .idea/dataSources/ 117 | .idea/dataSources.ids 118 | .idea/dataSources.xml 119 | .idea/dataSources.local.xml 120 | .idea/sqlDataSources.xml 121 | .idea/dynamic.xml 122 | .idea/uiDesigner.xml 123 | 124 | # Gradle: 125 | .idea/gradle.xml 126 | .idea/libraries 127 | 128 | # Mongo Explorer plugin: 129 | .idea/mongoSettings.xml 130 | 131 | ## File-based project format: 132 | *.iws 133 | 134 | ## Plugin-specific files: 135 | 136 | # IntelliJ 137 | /out/ 138 | 139 | # mpeltonen/sbt-idea plugin 140 | .idea_modules/ 141 | 142 | # JIRA plugin 143 | atlassian-ide-plugin.xml 144 | 145 | # Crashlytics plugin (for Android Studio and IntelliJ) 146 | com_crashlytics_export_strings.xml 147 | crashlytics.properties 148 | crashlytics-build.properties 149 | fabric.properties 150 | 151 | ### WebStorm Patch ### 152 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 153 | 154 | # *.iml 155 | # modules.xml 156 | # .idea/misc.xml 157 | # *.ipr 158 | 159 | 160 | ### Jekyll ### 161 | _site/ 162 | demo/dist 163 | demo/doc 164 | .sass-cache/ 165 | .jekyll-metadata 166 | 167 | 168 | ### SublimeText ### 169 | # cache files for sublime text 170 | *.tmlanguage.cache 171 | *.tmPreferences.cache 172 | *.stTheme.cache 173 | 174 | # workspace files are user-specific 175 | *.sublime-workspace 176 | 177 | # project files should be checked into the repository, unless a significant 178 | # proportion of contributors will probably not be using SublimeText 179 | # *.sublime-project 180 | 181 | # sftp configuration file 182 | sftp-config.json 183 | 184 | # Package control specific files 185 | Package Control.last-run 186 | Package Control.ca-list 187 | Package Control.ca-bundle 188 | Package Control.system-ca-bundle 189 | Package Control.cache/ 190 | Package Control.ca-certs/ 191 | bh_unicode_properties.cache 192 | 193 | # Sublime-github package stores a github token in this file 194 | # https://packagecontrol.io/packages/sublime-github 195 | GitHub.sublime-settings 196 | 197 | 198 | ### VisualStudioCode ### 199 | .vscode/* 200 | !.vscode/settings.json 201 | !.vscode/tasks.json 202 | !.vscode/launch.json 203 | !.vscode/extensions.json 204 | 205 | ### Custom ### 206 | report/ 207 | temp/ 208 | doc/ 209 | demo/_data/version.yml 210 | demo/release 211 | CHANGELOG.md 212 | dist/ 213 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | #configs 2 | config 3 | bower.json 4 | 5 | #tests 6 | test 7 | karma.conf.js 8 | 9 | #build tools 10 | webpack.*.js 11 | .travis.yml 12 | .codeclimate.yml 13 | 14 | #linters 15 | .eslintrc* 16 | 17 | #docs 18 | doc 19 | demo 20 | jsdoc.json 21 | README.md 22 | 23 | #editor settings 24 | .idea 25 | .editorconfig 26 | 27 | coverage/ 28 | node_modules/ 29 | .github 30 | .babelrc 31 | mocha.opts 32 | demo -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "6" 4 | dist: trusty 5 | sudo: false 6 | install: 7 | - npm install 8 | addons: 9 | chrome: stable 10 | cache: 11 | directories: 12 | - "node_modules" 13 | before_script: 14 | - npm run lint 15 | script: 16 | - npm run coverage 17 | after_success: 18 | - npm run coveralls 19 | -------------------------------------------------------------------------------- /CONTRIBURING.md: -------------------------------------------------------------------------------- 1 | # How to contribute to egjs-visible 2 | egjs-visible is opened to everyone and we're welcoming for any kind of contribution. 3 | We believe that our project can grow with your interests helping others' necessities. 4 | 5 | ## Style Guide 6 | 7 | egjs-visible has several style guidelines to follow. 8 | Before your start, please read attentively below instructions. 9 | 10 | ### Linting and Code Conventions 11 | We adopted [ESLint](http://eslint.org/) to maintain our code quality. The [rules](https://github.com/naver/eslint-config-naver/tree/master/rules) are modified version based on [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript). 12 | All rules are described at [.eslintrc](.eslintrc) file. 13 | 14 | ### Commit Log Guidelines 15 | egjs-visible use commit logs in many different purposes (like creating CHANGELOG, ease history searching, etc.). 16 | To not break, you'll be forced to follow our commit log guidelines. 17 | Before your commit/push, make sure following our commit log guidelines. 18 | 19 | The outline is as below: 20 | ``` 21 | (): 22 | 23 | 24 | 25 |