├── .formatter.exs ├── .gitignore ├── LICENSE ├── README.md ├── config └── config.exs ├── lib ├── ex_doc_refined.ex └── ex_doc_refined │ ├── highlighter.ex │ ├── phoenix_socket.ex │ ├── retriever.ex │ ├── router.ex │ ├── server.ex │ ├── v1_websocket_handler.ex │ └── websocket_handler.ex ├── mix.exs ├── mix.lock ├── priv ├── .nojekyll ├── 404.html ├── _nuxt │ ├── 49d56a6331b9f7c5fe0a.js │ ├── 860ea7c8f6a88a7ad384.js │ ├── LICENSES │ ├── d5e5fe1407bffb5b0da8.js │ ├── f78b2f59a014c435b23c.js │ └── ff006af997c08df4c910.js ├── favicon.ico └── index.html ├── src ├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── .prettierrc ├── README.md ├── assets │ ├── README.md │ └── css │ │ └── highlight.scss ├── components │ ├── FunctionDoc.vue │ └── Runner.vue ├── layouts │ └── default.vue ├── middleware │ └── moduledoc.js ├── nuxt.config.js ├── package-lock.json ├── package.json ├── pages │ └── index.vue ├── plugins │ └── websocket.js ├── static │ └── favicon.ico ├── store │ ├── actions.js │ ├── getters.js │ ├── mutations.js │ └── state.js └── yarn.lock └── test ├── ex_doc_refined_test.exs └── test_helper.exs /.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["mix.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # The directory Mix will write compiled artifacts to. 2 | /_build/ 3 | 4 | # If you run "mix test --cover", coverage assets end up here. 5 | /cover/ 6 | 7 | # The directory Mix downloads your dependencies sources to. 8 | /deps/ 9 | 10 | # Where 3rd-party dependencies like ExDoc output generated docs. 11 | /doc/ 12 | 13 | # Ignore .fetch files in case you like to edit your project deps locally. 14 | /.fetch 15 | 16 | # If the VM crashes, it generates a dump, let's ignore it too. 17 | erl_crash.dump 18 | 19 | # Also ignore archive artifacts (built via "mix archive.build"). 20 | *.ez 21 | 22 | # Ignore package tarball (built via "mix hex.build"). 23 | ex_doc_refined-*.tar 24 | 25 | /.vscode/ 26 | 27 | /.history/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Shuhei Hayashibara 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ExDocRefined 2 | 3 | A refined document viewer for Elixir and Phoenix 4 | 5 | ## Overview 6 | 7 | ![Imgur](https://i.imgur.com/mlU1I2b.gif) 8 | 9 | ### Features 10 | 11 | - :fast_forward: Dynamic Document Update without `mix docs` 12 | - :rainbow: Syntax Highlight 13 | - :bird: Embeddable to Phoenix (1.3 & 1.4 supported) 14 | - :page_facing_up: Interactively Execute Function on document 15 | 16 | 17 | 18 | ## Installation 19 | 20 | `mix.exs` 21 | 22 | ```elixir 23 | def deps do 24 | [ 25 | {:ex_doc_refined, "~> 0.1.1", only: [:dev]} 26 | ] 27 | end 28 | ``` 29 | 30 | Add it to applications (if `application` block exists) 31 | 32 | ```elixir 33 | def application do 34 | [applications: [:ex_doc_refined]] 35 | end 36 | ``` 37 | 38 | start your application 39 | 40 | ```bash 41 | $ ➜ iex -S mix 42 | Erlang/OTP 21 [erts-10.1] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe] 43 | 44 | 05:51:25.379 [info] ExDocRefined started listening on http://localhost:5600 45 | Interactive Elixir (1.7.4) - press Ctrl+C to exit (type h() ENTER for help) 46 | ``` 47 | 48 | then open http://localhost:5600 49 | 50 | ## Configuration 51 | 52 | ### Phoenix Integration 53 | 54 | Basically ExDoc Refined can works as standalone elixir app. 55 | 56 | But you can also integrate ExDoc Refined with Phoenix as well. 57 | 58 | 1. Add route for ExDocRefined 59 | 60 | `router.ex` 61 | 62 | ```elixir 63 | scope "/" do 64 | pipe_through(:browser) 65 | get("/", MyAppWeb.PageController, :index) 66 | end 67 | 68 | # Added route for docs 69 | forward("/docs", ExDocRefined.Router) 70 | ``` 71 | 72 | ### Cowboy 73 | 74 | :exclamation: Phoenix depends [Cowboy](https://github.com/ninenines/cowboy) HTTP server and Cowboy 2.0 had breaking change, so you must change configuration according to Phoenix and Cowboy version. 75 | 76 | #### For Phoenix 1.3 users 77 | 78 | | phoenix | cowboy | 79 | | -------: | -------: | 80 | | `~> 1.3` | `~> 1.0` | 81 | 82 | Add socket endpoint to your `endpoint.ex`. 83 | 84 | `endpoint.ex` 85 | 86 | ```elixir 87 | socket("/docs", ExDocRefined.PhoenixSocket) 88 | ``` 89 | 90 | :exclamation:️ This path **MUST** same with the path you defined in router. 91 | 92 | #### For Phoenix 1.4 & Cowboy 1.0 users 93 | 94 | | phoenix | cowboy | 95 | | -------: | -------: | 96 | | `~> 1.4` | `~> 1.0` | 97 | 98 | This case is for if you have upgraded Phoenix 1.3 to 1.4 and still using cowboy 1.0 99 | 100 | `endpoint.ex` 101 | 102 | ```elixir 103 | socket "/docs", ExDocRefined.PhoenixSocket, 104 | websocket: true, 105 | longpoll: false 106 | ``` 107 | 108 | #### For Phoenix 1.4 & Cowboy 2.0 users 109 | 110 | | phoenix | cowboy | 111 | | -------: | -------: | 112 | | `~> 1.4` | `~> 2.0` | 113 | 114 | `config/config.exs` 115 | 116 | Add dispatch option for cowboy. 117 | 118 | Please **CHANGE** app name to your app name. (`:my_app`, `MyAppWeb`) 119 | 120 | ```elixir 121 | config :my_app, MyAppWeb.Endpoint, 122 | http: [ 123 | dispatch: [ 124 | {:_, 125 | [ 126 | {"/docs/websocket", ExDocRefined.WebSocketHandler, []}, 127 | {:_, Phoenix.Endpoint.Cowboy2Handler, {MyAppWeb.Endpoint, []}} 128 | ]} 129 | ] 130 | ] 131 | ``` 132 | 133 | then start the phoenix and open http://localhost:4000/docs in your browser to view docs 134 | 135 | 136 | 137 | ### Standalone mode 138 | 139 | If you are using phoenix integration and standalone server is not necessary, you can disable standalone server. Defaults to `true`. 140 | 141 | `config/config.exs` 142 | 143 | ```elixir 144 | config :ex_doc_refined, standalone: false 145 | ``` 146 | 147 | ### Standalone server port 148 | 149 | If you want to change standalone server port, you can change by specify `port`. Defaults to `5600`. 150 | 151 | `config/config.exs` 152 | 153 | ```elixir 154 | config :ex_doc_refined, port: 4002 155 | ``` 156 | 157 | ## Contributing 158 | 159 | 1. Fork it 160 | 2. Create your feature branch (`git checkout -b my-new-feature`) 161 | 3. Commit your changes (`git commit -am 'Add some feature'`) 162 | 4. Push to the branch (`git push origin my-new-feature`) 163 | 5. Create new Pull Request 164 | 165 | ## Test 166 | 167 | 1. Clone this repo 168 | 2. `mix deps.get && iex -S mix` 169 | 3. Open another window to run nuxt.js 170 | 4. `cd src && npm install && npm run dev` 171 | 172 | ## TODO 173 | 174 | - [ ] UI improvement 175 | - [ ] Use ex_doc's function to follow the change of elixir official release 176 | - [ ] Provide option to disable function runner on docs 177 | 178 | ## License 179 | 180 | MIT 181 | -------------------------------------------------------------------------------- /config/config.exs: -------------------------------------------------------------------------------- 1 | # This file is responsible for configuring your application 2 | # and its dependencies with the aid of the Mix.Config module. 3 | use Mix.Config 4 | 5 | # This configuration is loaded before any dependency and is restricted 6 | # to this project. If another project depends on this project, this 7 | # file won't be loaded nor affect the parent project. For this reason, 8 | # if you want to provide default values for your application for 9 | # 3rd-party users, it should be done in your "mix.exs" file. 10 | 11 | # You can configure your application as: 12 | # 13 | # config :ex_doc_refined, key: :value 14 | # 15 | # and access this configuration in your application as: 16 | # 17 | # Application.get_env(:ex_doc_refined, :key) 18 | # 19 | # You can also configure a 3rd-party app: 20 | # 21 | # config :logger, level: :info 22 | # 23 | 24 | # It is also possible to import configuration files, relative to this 25 | # directory. For example, you can emulate configuration per environment 26 | # by uncommenting the line below and defining dev.exs, test.exs and such. 27 | # Configuration from the imported file will override the ones defined 28 | # here (which is why it is important to import them last). 29 | # 30 | # import_config "#{Mix.env}.exs" 31 | 32 | config :ex_doc_refined, port: 5600 33 | -------------------------------------------------------------------------------- /lib/ex_doc_refined.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined do 2 | use Application 3 | require Logger 4 | 5 | def start(_type, _args) do 6 | import Supervisor.Spec, warn: false 7 | 8 | standalone? = Application.get_env(:ex_doc_refined, :standalone, true) 9 | 10 | children = 11 | if standalone? do 12 | [ 13 | worker(ExDocRefined.Server, [[port: Application.get_env(:ex_doc_refined, :port, 5600)]]) 14 | ] 15 | else 16 | [] 17 | end 18 | 19 | opts = [strategy: :one_for_one, name: ExDocRefined.Supervisor] 20 | Supervisor.start_link(children, opts) 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/highlighter.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.Highlighter do 2 | @moduledoc """ 3 | Performs code highlighting. 4 | """ 5 | 6 | @doc """ 7 | Highlighter specific assets. 8 | """ 9 | def assets(_), do: [] 10 | 11 | @doc """ 12 | Highlighter specific annotations. 13 | """ 14 | def before_closing_head_tag(_), do: "" 15 | 16 | @doc """ 17 | Highlighter specific annotations. 18 | """ 19 | def before_closing_body_tag(_), do: "" 20 | 21 | # If new lexers are available, add them here: 22 | defp pick_language_and_lexer(""), do: {"elixir", Makeup.Lexers.ElixirLexer} 23 | defp pick_language_and_lexer("elixir"), do: {"elixir", Makeup.Lexers.ElixirLexer} 24 | defp pick_language_and_lexer(other), do: {other, nil} 25 | 26 | @doc """ 27 | Highlights all code block in an already generated HTML document. 28 | """ 29 | def highlight_code_blocks(html) do 30 | Regex.replace( 31 | ~r/
([^<]*)<\/code><\/pre>/,
32 |       html,
33 |       &highlight_code_block/3
34 |     )
35 |   end
36 | 
37 |   defp highlight_code_block(full_block, lang, code) do
38 |     case pick_language_and_lexer(lang) do
39 |       {_language, nil} -> full_block
40 |       {language, lexer} -> render_code(language, lexer, code)
41 |     end
42 |   end
43 | 
44 |   defp render_code(lang, lexer, code) do
45 |     highlighted =
46 |       code
47 |       |> unescape_html()
48 |       |> IO.iodata_to_binary()
49 |       |> Makeup.highlight_inner_html(lexer: lexer)
50 | 
51 |     ~s(
#{highlighted}
) 52 | end 53 | 54 | entities = [{"&", ?&}, {"<", ?<}, {">", ?>}, {""", ?"}, {"'", ?'}] 55 | 56 | for {encoded, decoded} <- entities do 57 | defp unescape_html(unquote(encoded) <> rest) do 58 | [unquote(decoded) | unescape_html(rest)] 59 | end 60 | end 61 | 62 | defp unescape_html(<>) do 63 | [c | unescape_html(rest)] 64 | end 65 | 66 | defp unescape_html(<<>>) do 67 | [] 68 | end 69 | end 70 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/phoenix_socket.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.PhoenixSocket do 2 | use GenServer 3 | 4 | def init(args) do 5 | {:ok, args} 6 | end 7 | 8 | def start_link(_) do 9 | GenServer.start_link(__MODULE__, []) 10 | end 11 | 12 | def __transports__ do 13 | handler = cowboy_version_adapter() 14 | 15 | config = [ 16 | cowboy: handler 17 | ] 18 | 19 | callback_module = ExDocRefined.PhoenixSocket 20 | transport_path = :websocket 21 | websocket_socket = {transport_path, {callback_module, config}} 22 | 23 | [websocket_socket] 24 | end 25 | 26 | defp cowboy_version_adapter() do 27 | case Application.spec(:cowboy, :vsn) do 28 | [?1 | _] -> ExDocRefined.V1WebSocketHandler 29 | _ -> ExDocRefined.WebSocketHandler 30 | end 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/retriever.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.Retriever do 2 | @moduledoc """ 3 | Retrieve documents from files 4 | """ 5 | 6 | def project_modules do 7 | Path.wildcard(Mix.Project.compile_path() <> "/*.beam") 8 | |> Enum.map(&%{module_name: Path.basename(&1, ".beam") |> String.to_atom(), path: &1}) 9 | |> Enum.sort() 10 | end 11 | 12 | def project_name do 13 | Mix.Project.app_path() 14 | |> Path.basename() 15 | |> Macro.camelize() 16 | end 17 | 18 | def normalize_docs(module_name, docs) do 19 | {_, _, _, _, module_doc, _, functions} = docs 20 | 21 | specs = get_specs(("Elixir." <> module_name) |> String.to_atom()) 22 | types = get_types(("Elixir." <> module_name) |> String.to_atom()) 23 | 24 | %{ 25 | module_name: module_name, 26 | module_doc: module_doc |> doc_to_html(), 27 | functions: normalize_functions(module_name, functions, specs, types) 28 | } 29 | end 30 | 31 | defp get_specs(module) do 32 | case Code.Typespec.fetch_specs(module) do 33 | {:ok, specs} -> Map.new(specs) 34 | _ -> %{} 35 | end 36 | end 37 | 38 | defp get_types(module) do 39 | case Code.Typespec.fetch_types(module) do 40 | {:ok, types} -> Enum.map(types, &elem(&1, 1)) 41 | _ -> [] 42 | end 43 | end 44 | 45 | defp normalize_functions(module_name, functions, specs, types) do 46 | functions 47 | |> Enum.map(&normalize_function(module_name, &1, Map.get(specs, actual_def(&1), []), types)) 48 | end 49 | 50 | defp normalize_function(module_name, function, specs, types) do 51 | {{role, name, arity}, _line, signature, function_doc, _} = function 52 | 53 | type_spec = 54 | types 55 | |> Enum.find(fn {type_name, _, _} -> type_name == name end) 56 | |> get_type() 57 | 58 | %{ 59 | module_name: module_name, 60 | role: role, 61 | name: name, 62 | arity: arity, 63 | heading: function_doc |> get_first_line(), 64 | args: signature |> get_arg_names(), 65 | signature: signature, 66 | specs: specs |> Enum.map(&spec_to_string(name, &1)), 67 | type_spec: type_spec, 68 | function_doc: function_doc |> doc_to_html() 69 | } 70 | end 71 | 72 | defp actual_def({{_, name, arity}, _, _, _, _} = function) do 73 | {name, arity} 74 | end 75 | 76 | def take_prefix(full, prefix) do 77 | base = String.length(prefix) 78 | String.slice(full, base, String.length(full) - base) 79 | end 80 | 81 | defp get_type(nil), do: "" 82 | 83 | defp get_type(type) do 84 | type 85 | |> Code.Typespec.type_to_quoted() 86 | |> Macro.to_string() 87 | |> Makeup.highlight_inner_html(lexer: "elixir") 88 | |> String.replace("\n", "
") 89 | end 90 | 91 | defp get_first_line(:hidden = doc), do: "" 92 | defp get_first_line(:none = doc), do: "" 93 | 94 | defp get_first_line(%{"en" => doc} = _doc) do 95 | String.split(doc, "\n") 96 | |> Enum.reject(&(&1 == "")) 97 | |> List.first() 98 | end 99 | 100 | defp get_arg_names([] = _signature), do: [] 101 | 102 | defp get_arg_names([signature] = _signature) do 103 | Regex.named_captures(~r/.*\((?.*)\)/, signature) 104 | |> case do 105 | %{"args" => ""} -> [] 106 | %{"args" => str_args} -> String.split(str_args, ",") 107 | _ -> [] 108 | end 109 | end 110 | 111 | defp spec_to_string(name, spec) do 112 | Code.Typespec.spec_to_quoted(name, spec) 113 | |> Macro.to_string() 114 | |> Makeup.highlight_inner_html(lexer: "elixir") 115 | end 116 | 117 | defp doc_to_html(:hidden = _doc), do: "" 118 | defp doc_to_html(:none = _doc), do: "" 119 | 120 | defp doc_to_html(%{"en" => doc} = _doc) do 121 | markdown_to_html(doc) 122 | end 123 | 124 | defp markdown_to_html(markdown, opts \\ []) do 125 | options = 126 | struct(Earmark.Options, 127 | gfm: Keyword.get(opts, :gfm, true), 128 | line: Keyword.get(opts, :line, 1), 129 | file: Keyword.get(opts, :file), 130 | breaks: Keyword.get(opts, :breaks, false), 131 | smartypants: Keyword.get(opts, :smartypants, false), 132 | plugins: Keyword.get(opts, :plugins, %{}) 133 | ) 134 | 135 | Earmark.as_html!(markdown, options) 136 | |> ExDocRefined.Highlighter.highlight_code_blocks() 137 | end 138 | 139 | def parse_arg(arg) do 140 | case Code.string_to_quoted!(arg) do 141 | {:%{}, _, _} -> 142 | string_to_evalulation(arg) 143 | 144 | {:%, _, _} -> 145 | string_to_evalulation(arg) 146 | 147 | {{:., _, _}, _, _} -> 148 | string_to_evalulation(arg) 149 | 150 | {:fn, _, _} -> 151 | string_to_evalulation(arg) 152 | 153 | {:&, _, _} -> 154 | string_to_evalulation(arg) 155 | 156 | {:+, _, _} -> 157 | string_to_evalulation(arg) 158 | 159 | {:-, _, _} -> 160 | string_to_evalulation(arg) 161 | 162 | {:/, _, _} -> 163 | string_to_evalulation(arg) 164 | 165 | {:*, _, _} -> 166 | string_to_evalulation(arg) 167 | 168 | {:__aliases__, _, _} -> 169 | string_to_evalulation(arg) 170 | 171 | {res, _, _} -> 172 | to_string(res) 173 | 174 | res when is_atom(res) -> 175 | res 176 | 177 | res when is_integer(res) -> 178 | res 179 | 180 | res -> 181 | res 182 | end 183 | end 184 | 185 | defp string_to_evalulation(arg) do 186 | {res, _} = Code.eval_string(arg) 187 | 188 | res 189 | end 190 | 191 | def prepend_call(string, module, function, args) do 192 | "iex> #{module |> to_string |> take_prefix("Elixir.")}.#{function}(#{expand_args(args)}) \n\n" <> 193 | string 194 | end 195 | 196 | defp expand_args(args) do 197 | args 198 | |> Enum.map(&Macro.to_string/1) 199 | |> Enum.join(", ") 200 | end 201 | end 202 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/router.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.Router do 2 | use Plug.Router 3 | 4 | @asset_dir "priv" 5 | 6 | plug(Plug.Static, at: "/_nuxt", from: {:ex_doc_refined, @asset_dir <> "/_nuxt"}) 7 | 8 | plug(:match) 9 | plug(:dispatch) 10 | 11 | get "/" do 12 | if String.ends_with?(conn.request_path, "/") do 13 | conn 14 | |> Plug.Conn.put_resp_content_type("text/html") 15 | |> Plug.Conn.send_resp(200, File.read!(index_file())) 16 | else 17 | # redirect to trailing slash path to load relative static files 18 | conn 19 | |> Plug.Conn.put_resp_header("location", conn.request_path <> "/") 20 | |> Plug.Conn.send_resp(302, "You are being redirected") 21 | end 22 | end 23 | 24 | get "/*_" do 25 | if String.ends_with?(conn.request_path, "socket") do 26 | conn 27 | else 28 | conn 29 | |> Plug.Conn.put_resp_content_type("text/html") 30 | |> Plug.Conn.send_resp(200, File.read!(index_file())) 31 | end 32 | end 33 | 34 | defp index_file do 35 | Path.join(Application.app_dir(:ex_doc_refined), @asset_dir <> "/index.html") 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/server.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.Server do 2 | use Supervisor 3 | require Logger 4 | 5 | def init(opts) do 6 | {:ok, opts} 7 | end 8 | 9 | def start_link(opts) do 10 | cowboy_version = Application.spec(:cowboy) |> cowboy_version() 11 | dispatch = dispatch(cowboy_version, opts) 12 | {:ok, pid} = start_cowboy(cowboy_version, dispatch, opts) 13 | Logger.info("ExDoc Refined started listening on http://localhost:#{opts[:port]}") 14 | {:ok, pid} 15 | end 16 | 17 | def start_link() do 18 | cowboy_version = Application.spec(:cowboy) |> cowboy_version() 19 | dispatch = dispatch(cowboy_version, []) 20 | {:ok, pid} = start_cowboy(cowboy_version, dispatch, []) 21 | 22 | Logger.info("ExDoc Refined started listening on http://localhost:5600") 23 | {:ok, pid} 24 | end 25 | 26 | def stop(_state) do 27 | :ok 28 | end 29 | 30 | # Helpers 31 | 32 | defp dispatch("v1" = _version, _opts) do 33 | :cowboy_router.compile([ 34 | {:_, 35 | [ 36 | {'/[...]/websocket', ExDocRefined.V1WebSocketHandler, []}, 37 | {'/websocket', ExDocRefined.V1WebSocketHandler, []}, 38 | {"/", :cowboy_static, {:priv_file, :ex_doc_refined, "index.html"}}, 39 | {"/[...]/_nuxt/[...]", :cowboy_static, {:priv_dir, :ex_doc_refined, "_nuxt"}}, 40 | {"/_nuxt/[...]", :cowboy_static, {:priv_dir, :ex_doc_refined, "_nuxt"}}, 41 | {"/[...]", :cowboy_static, {:priv_file, :ex_doc_refined, "index.html"}} 42 | ]} 43 | ]) 44 | end 45 | 46 | defp dispatch("v2" = _version, _opts) do 47 | :cowboy_router.compile([ 48 | {:_, 49 | [ 50 | {'/[...]/websocket', ExDocRefined.WebSocketHandler, []}, 51 | {'/websocket', ExDocRefined.WebSocketHandler, []}, 52 | {"/", :cowboy_static, {:priv_file, :ex_doc_refined, "index.html"}}, 53 | {"/[...]/_nuxt/[...]", :cowboy_static, {:priv_dir, :ex_doc_refined, "_nuxt"}}, 54 | {"/_nuxt/[...]", :cowboy_static, {:priv_dir, :ex_doc_refined, "_nuxt"}}, 55 | {"/[...]", :cowboy_static, {:priv_file, :ex_doc_refined, "index.html"}} 56 | ]} 57 | ]) 58 | end 59 | 60 | defp start_cowboy("v1" = _version, dispatch, opts) do 61 | port = Keyword.get(opts, :port, 5600) 62 | 63 | :cowboy.start_http(:ex_doc_refined_http_listener, 100, [{:port, port}], [ 64 | {:env, [{:dispatch, dispatch}]} 65 | ]) 66 | end 67 | 68 | defp start_cowboy("v2" = _version, dispatch, opts) do 69 | port = Keyword.get(opts, :port, 5600) 70 | 71 | :cowboy.start_clear(:ex_doc_refined_http_listener, [{:port, port}], %{ 72 | env: %{dispatch: dispatch} 73 | }) 74 | end 75 | 76 | defp cowboy_version(spec) do 77 | case Version.compare("2.0.0", spec[:vsn] |> to_string) do 78 | :gt -> "v1" 79 | _ -> "v2" 80 | end 81 | end 82 | end 83 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/v1_websocket_handler.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.V1WebSocketHandler do 2 | @behaviour :cowboy_websocket_handler 3 | alias ExDocRefined.Retriever 4 | 5 | def init(_, req, _opts) do 6 | opts = %{idle_timeout: 60000} 7 | 8 | {:upgrade, :protocol, :cowboy_websocket, req, opts} 9 | end 10 | 11 | def websocket_init(_transport, req, state) do 12 | message = %{modules: Retriever.project_modules(), project_name: Retriever.project_name()} 13 | 14 | send(self(), {:text, message}) 15 | 16 | {:ok, req, %{state: state, proxy: nil}, 60_000} 17 | end 18 | 19 | def websocket_terminate(_reason, _req, _state) do 20 | :ok 21 | end 22 | 23 | def websocket_handle({:text, "{\"module_path\"" <> _ = message}, req, state) do 24 | decoded_message = Jason.decode!(message) 25 | module_path = decoded_message["module_path"] 26 | 27 | docs = Code.fetch_docs(module_path) 28 | 29 | module_name = 30 | Path.basename(module_path, ".beam") 31 | |> Retriever.take_prefix("Elixir.") 32 | 33 | normalized_docs = Retriever.normalize_docs(module_name, docs) 34 | 35 | {:reply, {:text, Jason.encode!(normalized_docs)}, req, state} 36 | end 37 | 38 | def websocket_handle({:text, "{\"cmd_id\"" <> _ = message}, req, state) do 39 | %{ 40 | "cmd_id" => cmd_id, 41 | "json_data" => %{"module_name" => module, "function" => func, "args" => args} 42 | } = Jason.decode!(message) 43 | 44 | try do 45 | module = String.to_atom("Elixir." <> module) 46 | func = String.to_atom(func) 47 | 48 | args = Enum.map(args, &Retriever.parse_arg(&1)) 49 | 50 | result = 51 | apply(module, func, args) 52 | |> inspect(pretty: true) 53 | |> Retriever.prepend_call(module, func, args) 54 | |> Makeup.highlight_inner_html(lexer: "elixir") 55 | |> String.replace("\n", "
") 56 | 57 | {:reply, {:text, %{"cmd_id" => cmd_id, "result" => result} |> Jason.encode!()}, req, state} 58 | rescue 59 | e -> 60 | result = 61 | inspect(e, pretty: true) 62 | |> Makeup.highlight_inner_html(lexer: "elixir") 63 | |> String.replace("\n", "
") 64 | 65 | {:reply, {:text, %{"cmd_id" => cmd_id, "result" => result} |> Jason.encode!()}, req, 66 | state} 67 | end 68 | end 69 | 70 | def websocket_handle({:text, message}, req, state) do 71 | {:reply, {:text, message}, req, state} 72 | end 73 | 74 | def websocket_handle(_data, req, state) do 75 | {:ok, req, state} 76 | end 77 | 78 | def websocket_info({:text, %{modules: modules, project_name: project_name}}, req, state) do 79 | {:ok, message} = %{modules: modules, project_name: project_name} |> Jason.encode() 80 | {:reply, {:text, message}, req, state} 81 | end 82 | 83 | def websocket_info({:timeout, _ref, message}, req, state) do 84 | {:reply, {:text, message}, req, state} 85 | end 86 | 87 | def websocket_info({:broadcast, message}, req, state) do 88 | {:reply, {:text, message}, req, state} 89 | end 90 | 91 | def websocket_info(_, state) do 92 | {:ok, state} 93 | end 94 | end 95 | -------------------------------------------------------------------------------- /lib/ex_doc_refined/websocket_handler.ex: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.WebSocketHandler do 2 | @moduledoc """ 3 | Websocket Handler for Cowboy 2 4 | """ 5 | alias ExDocRefined.Retriever 6 | 7 | def init(req, state) do 8 | opts = %{idle_timeout: 60000} 9 | 10 | {:cowboy_websocket, req, state, opts} 11 | end 12 | 13 | def websocket_init(state) do 14 | message = 15 | %{modules: Retriever.project_modules(), project_name: Retriever.project_name()} 16 | |> Jason.encode!() 17 | 18 | send(self(), {:text, message}) 19 | 20 | {:ok, state} 21 | end 22 | 23 | def terminate(_reason, _req, _state) do 24 | :ok 25 | end 26 | 27 | def websocket_handle({:text, "{\"module_path\"" <> _ = message}, state) do 28 | decoded_message = Jason.decode!(message) 29 | module_path = decoded_message["module_path"] 30 | 31 | docs = Code.fetch_docs(module_path) 32 | 33 | module_name = 34 | Path.basename(module_path, ".beam") 35 | |> Retriever.take_prefix("Elixir.") 36 | 37 | normalized_docs = Retriever.normalize_docs(module_name, docs) 38 | 39 | {:reply, {:text, Jason.encode!(normalized_docs)}, state} 40 | end 41 | 42 | def websocket_handle({:text, "{\"cmd_id\"" <> _ = message}, state) do 43 | %{ 44 | "cmd_id" => cmd_id, 45 | "json_data" => %{"module_name" => module, "function" => func, "args" => args} 46 | } = Jason.decode!(message) 47 | 48 | try do 49 | module = String.to_atom("Elixir." <> module) 50 | func = String.to_atom(func) 51 | 52 | args = Enum.map(args, &Retriever.parse_arg(&1)) 53 | 54 | result = 55 | apply(module, func, args) 56 | |> inspect(pretty: true) 57 | |> Retriever.prepend_call(module, func, args) 58 | |> Makeup.highlight_inner_html(lexer: "elixir") 59 | |> String.replace("\n", "
") 60 | 61 | {:reply, {:text, %{"cmd_id" => cmd_id, "result" => result} |> Jason.encode!()}, state} 62 | rescue 63 | e -> 64 | result = 65 | inspect(e, pretty: true) 66 | |> Makeup.highlight_inner_html(lexer: "elixir") 67 | |> String.replace("\n", "
") 68 | 69 | {:reply, {:text, %{"cmd_id" => cmd_id, "result" => result} |> Jason.encode!()}, state} 70 | end 71 | end 72 | 73 | def websocket_handle({:text, message}, state) do 74 | {:reply, {:text, message}, state} 75 | end 76 | 77 | def websocket_handle(_data, state) do 78 | {:ok, state} 79 | end 80 | 81 | def websocket_info({:text, message}, state) do 82 | {:reply, {:text, message}, state} 83 | end 84 | 85 | def websocket_info({:modules, modules}, state) do 86 | {:ok, message} = %{modules: modules} |> Jason.encode() 87 | {:reply, {:text, message}, state} 88 | end 89 | 90 | def websocket_info({:timeout, _ref, message}, state) do 91 | {:reply, {:text, message}, state} 92 | end 93 | 94 | def websocket_info({:broadcast, message}, state) do 95 | {:reply, {:text, message}, state} 96 | end 97 | 98 | def websocket_info(_, state) do 99 | {:ok, state} 100 | end 101 | end 102 | -------------------------------------------------------------------------------- /mix.exs: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefined.MixProject do 2 | use Mix.Project 3 | 4 | def project do 5 | [ 6 | app: :ex_doc_refined, 7 | version: "0.1.1", 8 | elixir: "~> 1.6", 9 | start_permanent: Mix.env() == :prod, 10 | build_embedded: Mix.env() == :prod, 11 | deps: deps(), 12 | description: description(), 13 | package: package() 14 | ] 15 | end 16 | 17 | # Run "mix help compile.app" to learn about applications. 18 | def application do 19 | [ 20 | mod: {ExDocRefined, {}}, 21 | extra_applications: [:logger] 22 | ] 23 | end 24 | 25 | # Run "mix help deps" to learn about dependencies. 26 | defp deps do 27 | [ 28 | {:cowboy, "~> 1.0 or ~> 2.0"}, 29 | {:plug, "~> 1.0"}, 30 | {:jason, ">= 0.0.0"}, 31 | {:earmark, "~> 1.0"}, 32 | {:makeup_elixir, "~> 0.10"}, 33 | {:exsync, "~> 0.2", only: :dev}, 34 | {:credo, "~> 0.8", only: [:dev, :test], runtime: false}, 35 | {:ex_doc, "~> 0.19.0", only: :dev} 36 | ] 37 | end 38 | 39 | defp description do 40 | """ 41 | An refined document viewer for Elixir and Phoenix 42 | """ 43 | end 44 | 45 | defp package do 46 | [ 47 | files: ["lib", "mix.exs", "README*", "LICENSE*", "priv"], 48 | maintainers: ["Shuhei Hayashibara"], 49 | licenses: ["MIT"], 50 | links: %{ 51 | "GitHub" => "https://github.com/shufo/ex_doc_refined", 52 | "Docs" => "https://hexdocs.pm/ex_doc_refined" 53 | } 54 | ] 55 | end 56 | end 57 | -------------------------------------------------------------------------------- /mix.lock: -------------------------------------------------------------------------------- 1 | %{ 2 | "bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm"}, 3 | "cowboy": {:hex, :cowboy, "2.5.0", "4ef3ae066ee10fe01ea3272edc8f024347a0d3eb95f6fbb9aed556dacbfc1337", [:rebar3], [{:cowlib, "~> 2.6.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.6.2", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm"}, 4 | "cowlib": {:hex, :cowlib, "2.6.0", "8aa629f81a0fc189f261dc98a42243fa842625feea3c7ec56c48f4ccdb55490f", [:rebar3], [], "hexpm"}, 5 | "credo": {:hex, :credo, "0.10.2", "03ad3a1eff79a16664ed42fc2975b5e5d0ce243d69318060c626c34720a49512", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm"}, 6 | "earmark": {:hex, :earmark, "1.3.0", "17f0c38eaafb4800f746b457313af4b2442a8c2405b49c645768680f900be603", [:mix], [], "hexpm"}, 7 | "ex_doc": {:hex, :ex_doc, "0.19.1", "519bb9c19526ca51d326c060cb1778d4a9056b190086a8c6c115828eaccea6cf", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.7", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm"}, 8 | "exsync": {:hex, :exsync, "0.2.3", "a1ac11b4bd3808706003dbe587902101fcc1387d9fc55e8b10972f13a563dd15", [:mix], [{:file_system, "~> 0.2", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm"}, 9 | "file_system": {:hex, :file_system, "0.2.6", "fd4dc3af89b9ab1dc8ccbcc214a0e60c41f34be251d9307920748a14bf41f1d3", [:mix], [], "hexpm"}, 10 | "jason": {:hex, :jason, "1.1.2", "b03dedea67a99223a2eaf9f1264ce37154564de899fd3d8b9a21b1a6fd64afe7", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, 11 | "makeup": {:hex, :makeup, "0.5.5", "9e08dfc45280c5684d771ad58159f718a7b5788596099bdfb0284597d368a882", [:mix], [{:nimble_parsec, "~> 0.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, 12 | "makeup_elixir": {:hex, :makeup_elixir, "0.10.0", "0f09c2ddf352887a956d84f8f7e702111122ca32fbbc84c2f0569b8b65cbf7fa", [:mix], [{:makeup, "~> 0.5.5", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm"}, 13 | "mime": {:hex, :mime, "1.3.0", "5e8d45a39e95c650900d03f897fbf99ae04f60ab1daa4a34c7a20a5151b7a5fe", [:mix], [], "hexpm"}, 14 | "nimble_parsec": {:hex, :nimble_parsec, "0.4.0", "ee261bb53214943679422be70f1658fff573c5d0b0a1ecd0f18738944f818efe", [:mix], [], "hexpm"}, 15 | "plug": {:hex, :plug, "1.7.1", "8516d565fb84a6a8b2ca722e74e2cd25ca0fc9d64f364ec9dbec09d33eb78ccd", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}], "hexpm"}, 16 | "plug_crypto": {:hex, :plug_crypto, "1.0.0", "18e49317d3fa343f24620ed22795ec29d4a5e602d52d1513ccea0b07d8ea7d4d", [:mix], [], "hexpm"}, 17 | "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, 18 | "ranch": {:hex, :ranch, "1.6.2", "6db93c78f411ee033dbb18ba8234c5574883acb9a75af0fb90a9b82ea46afa00", [:rebar3], [], "hexpm"}, 19 | } 20 | -------------------------------------------------------------------------------- /priv/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shufo/ex_doc_refined/2048231847b34fcd8d952ff72c76925dba8989ab/priv/.nojekyll -------------------------------------------------------------------------------- /priv/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ex_doc_refined 5 | 6 | 7 |
Loading...
8 | 9 | 10 | -------------------------------------------------------------------------------- /priv/_nuxt/49d56a6331b9f7c5fe0a.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[2],{151:function(e,t,n){var r=n(155);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,n(26).default)("798c3abc",r,!0,{sourceMap:!1})},152:function(e,t,n){var r=n(3),s=n(153)(!1);r(r.S,"Object",{values:function(e){return s(e)}})},153:function(e,t,n){var r=n(15),s=n(16),o=n(31).f;e.exports=function(e){return function(t){for(var n,a=s(t),i=r(a),c=i.length,u=0,l=[];c>u;)o.call(a,n=i[u++])&&l.push(e?[n,a[n]]:a[n]);return l}}},154:function(e,t,n){"use strict";var r=n(151);n.n(r).a},155:function(e,t,n){(e.exports=n(25)(!1)).push([e.i,"\n.moduledoc li{margin-bottom:16px\n}",""])},156:function(e,t,n){"use strict";n.r(t);n(24);var r=n(13),s=n.n(r),o=n(22),a=(n(152),n(17),n(65),{name:"Runner",props:{func:{type:Object,required:!0}},data:function(){return{show:!1,inputs:[],name:"",form:{},result:null}},computed:{valid:{get:function(){var e=this;return 0==this.func.args.length||0!=Object.keys(this.form).length&&Object.keys(this.form).reduce(function(t,n,r,s){return t&&void 0!==e.form[r]&&""!==e.form[r]},!0)},set:function(){}}},mounted:function(){this.socketClient=this.$socketClient},methods:{clear:function(){this.result=null},run:function(e){var t=this;if(e.preventDefault(),this.result=null,this.valid){var n={module_name:this.func.module_name,function:this.func.name,args:Object.values(this.form)};this.socketClient.sendWithSync(n,function(e){t.result=e})}},submit:function(){return!1}}}),i=n(21),c=Object(i.a)(a,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-actions",[n("v-btn",{attrs:{flat:""},on:{click:function(t){e.show=!e.show}}},[n("v-icon",{attrs:{left:""}},[e._v(e._s(e.show?"keyboard_arrow_up":"keyboard_arrow_down"))]),e._v("\n RUNNER\n ")],1)],1),e._v(" "),n("v-slide-y-transition",[n("v-card-text",{directives:[{name:"show",rawName:"v-show",value:e.show,expression:"show"}]},[n("v-form",{ref:"form",attrs:{"lazy-validation":""},on:{submit:e.run},nativeOn:{keyup:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.valid&&e.submit(t)}},model:{value:e.valid,callback:function(t){e.valid=t},expression:"valid"}},[e._l(e.func.args,function(t,r){return n("td",{key:t},[n("v-text-field",{attrs:{label:t,required:"true"},model:{value:e.form[r],callback:function(t){e.$set(e.form,r,t)},expression:"form[i]"}})],1)}),e._v(" "),n("v-btn",{attrs:{disabled:!e.valid},on:{click:e.run}},[e._v("\n run\n ")]),e._v(" "),n("v-btn",{on:{click:e.clear}},[e._v("clear")])],2),e._v(" "),n("v-spacer"),e._v(" "),n("v-slide-y-transition",[n("v-card",{directives:[{name:"show",rawName:"v-show",value:e.result,expression:"result"}],staticClass:"night-mode",attrs:{dark:""}},[n("v-card-text",{staticClass:"makeup",domProps:{innerHTML:e._s(e.result)}})],1)],1)],1)],1)],1)},[],!1,null,null,null);c.options.__file="Runner.vue";var u={name:"FunctionDoc",components:{Runner:c.exports},props:{func:{type:Object,required:!0}},data:function(){return{show:!1}},methods:{isRunnable:function(e){switch(e){case"function":return!0;case"type":case"macro":default:return!1}},isDescribeBlockExists:function(e){return""!==e.function_doc||(e.specs.length>0||""!==e.type_spec)}}},l=Object(i.a)(u,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-divider"),e._v(" "),e.isDescribeBlockExists(e.func)?n("v-card-text",[n("p",{staticClass:"title"},[n("strong",{domProps:{innerHTML:e._s(e.func.signature[0])}})]),e._v(" "),n("p",[e._l(e.func.specs,function(t,r){return[n("span",{key:r,staticClass:"makeup",domProps:{innerHTML:e._s(t)}})]}),e._v(" "),""!==e.func.type_spec?n("span",{staticClass:"makeup",domProps:{innerHTML:e._s(e.func.type_spec)}}):e._e()],2),e._v(" "),""!==e.func.function_doc?n("span",{staticClass:"night-mode",domProps:{innerHTML:e._s(e.func.function_doc)}}):e._e()]):e._e(),e._v(" "),e.isRunnable(e.func.role)?n("runner",{attrs:{func:e.func}}):e._e()],1)},[],!1,null,null,null);l.options.__file="FunctionDoc.vue";var p={components:{FunctionDoc:l.exports},data:function(){return{offsetTop:0}},computed:s()({},Object(o.b)(["searchText","filteredFunctions","modules","docs"])),methods:{functionRoleColor:function(e){if("__struct__"===e.name&&0===e.arity)return"deep-purple";switch(e.role){case"struct":return"secondary";case"function":return"primary";case"macro":return"purple";case"callback":return"deep-purple darken-3";case"type":return"deep-purple accent-2";default:return"purple"}},goToBottom:function(){this.$vuetify.goTo(999999,{duration:300,easing:"easeInOutCubic"})},goToTop:function(){this.$vuetify.goTo(0,{duration:300,easing:"easeInOutCubic"})},onScroll:function(){this.offsetTop=window.pageYOffset||document.documentElement.scrollTop}}},d=(n(154),Object(i.a)(p,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-layout",{attrs:{column:"","justify-space-between":""}},[n("v-flex",{attrs:{xs12:"",sm12:"",md12:"",lg12:""}},[n("v-card",[n("v-card-title",{staticClass:"display-1 primary--text",attrs:{"primary-title":"",ellipsis:""}},[0==e.modules.length?n("v-progress-circular",{attrs:{indeterminate:"",color:"purple"}}):e._e(),e._v(" "),n("p",{staticClass:"display-1 primary--text text-truncate"},[e._v("\n "+e._s(e.docs.module_name)+"\n ")])],1),e._v(" "),"none"!==e.docs.module_doc?n("v-card-text",{staticClass:"moduledoc night-mode",domProps:{innerHTML:e._s(e.docs.module_doc)}}):e._e()],1),e._v(" "),n("v-expansion-panel",[n("v-divider"),e._v(" "),n("v-slide-y-transition",{staticClass:"py-0",attrs:{group:"",tag:"v-expansion-panel"}},e._l(e.filteredFunctions,function(t){return n("v-expansion-panel-content",{key:t.name+t.signature.toString(),attrs:{lazy:""}},[n("v-layout",{directives:[{name:"scroll",rawName:"v-scroll",value:e.onScroll,expression:"onScroll"}],attrs:{slot:"header","align-center":"","justify-space-between":"",row:"",spacer:""},slot:"header"},[n("v-flex",{attrs:{xs3:"",sm3:"",md3:""}},[n("v-chip",{attrs:{color:e.functionRoleColor(t),"text-color":"white"}},["__struct__"===t.name&&0===t.arity?n("span",{domProps:{innerHTML:e._s("struct")}}):e._e(),e._v(" "),"__struct__"!==t.name?n("span",{domProps:{innerHTML:e._s(t.role)}}):e._e()])],1),e._v(" "),n("v-flex",{attrs:{"no-wrap":"",xs5:"",sm6:"",ellipsis:""}},["type"!==t.role?n("strong",{domProps:{innerHTML:e._s(t.signature[0])}}):e._e(),e._v(" "),"type"===t.role||"callback"===t.role?n("strong",{domProps:{innerHTML:e._s(t.name)}}):e._e(),e._v(" "),n("br"),e._v(" "),e._l(t.specs,function(r,s){return["type"!==t.role?n("v-sub-header",{key:s,staticClass:"makeup",attrs:{ellipsis:""},domProps:{innerHTML:e._s(r)}}):e._e()]}),e._v(" "),"type"===t.role?n("v-sub-header",{staticClass:"makeup",domProps:{innerHTML:e._s(t.type_spec)}}):e._e()],2),e._v(" "),n("v-spacer"),e._v(" "),n("v-flex",{attrs:{"no-wrap":"",xs5:"",sm8:"",ellipsis:""}},[n("span",{staticClass:"grey--text ml-3",domProps:{innerHTML:e._s(t.heading)}})]),e._v(" "),n("v-spacer")],1),e._v(" "),n("function-doc",{attrs:{func:t}})],1)}))],1),e._v(" "),n("v-card",[n("v-fab-transition",[e.offsetTop<100?n("v-btn",{attrs:{relative:"",dark:"",fab:"",bottom:"",right:"",fixed:"",color:"pink"},on:{click:e.goToBottom}},[n("v-icon",[e._v("arrow_downward")])],1):e._e()],1),e._v(" "),n("v-fab-transition",[e.offsetTop>100?n("v-btn",{attrs:{relative:"",dark:"",fab:"",bottom:"",right:"",fixed:"",color:"pink"},on:{click:e.goToTop}},[n("v-icon",[e._v("arrow_upward")])],1):e._e()],1),e._v(" "),0==e.docs.functions.length?n("v-card-text",[n("p",[e._v("No functions defined")])]):e._e()],1)],1)],1)},[],!1,null,null,null));d.options.__file="index.vue";t.default=d.exports}}]); -------------------------------------------------------------------------------- /priv/_nuxt/LICENSES: -------------------------------------------------------------------------------- 1 | /*! 2 | * Vue.js v2.5.17 3 | * (c) 2014-2018 Evan You 4 | * Released under the MIT License. 5 | */ 6 | 7 | /** 8 | * vuex v3.0.1 9 | * (c) 2017 Evan You 10 | * @license MIT 11 | */ 12 | 13 | /** 14 | * vue-router v3.0.1 15 | * (c) 2017 Evan You 16 | * @license MIT 17 | */ 18 | 19 | /** 20 | * vue-meta v1.5.5 21 | * (c) 2018 Declan de Wet & Sébastien Chopin (@Atinux) 22 | * @license MIT 23 | */ 24 | 25 | /* 26 | object-assign 27 | (c) Sindre Sorhus 28 | @license MIT 29 | */ 30 | 31 | /*! 32 | * vue-no-ssr v1.0.0 33 | * (c) 2018-present egoist <0x142857@gmail.com> 34 | * Released under the MIT License. 35 | */ 36 | 37 | /*!*****************************************!*\ 38 | !*** ./src/components/VAlert/VAlert.ts ***! 39 | \*****************************************/ 40 | 41 | /*! exports provided: default */ 42 | 43 | /*! ../../stylus/components/_alerts.styl */ 44 | 45 | /*! ../VIcon */ 46 | 47 | /*! ../../mixins/colorable */ 48 | 49 | /*! ../../mixins/toggleable */ 50 | 51 | /*! ../../mixins/transitionable */ 52 | 53 | /*! ../../util/mixins */ 54 | 55 | /*!****************************************!*\ 56 | !*** ./src/components/VAlert/index.ts ***! 57 | \****************************************/ 58 | 59 | /*! exports provided: VAlert, default */ 60 | 61 | /*! ./VAlert */ 62 | 63 | /*!*************************************!*\ 64 | !*** ./src/components/VApp/VApp.js ***! 65 | \*************************************/ 66 | 67 | /*! exports provided: default */ 68 | 69 | /*! ../../stylus/components/_app.styl */ 70 | 71 | /*! ./mixins/app-theme */ 72 | 73 | /*! ../../mixins/themeable */ 74 | 75 | /*! ../../directives/resize */ 76 | 77 | /*!**************************************!*\ 78 | !*** ./src/components/VApp/index.js ***! 79 | \**************************************/ 80 | 81 | /*! exports provided: VApp, default */ 82 | 83 | /*! ./VApp */ 84 | 85 | /*!*************************************************!*\ 86 | !*** ./src/components/VApp/mixins/app-theme.js ***! 87 | \*************************************************/ 88 | 89 | /*! exports provided: default */ 90 | 91 | /*! ../../../util/theme */ 92 | 93 | /*!*******************************************************!*\ 94 | !*** ./src/components/VAutocomplete/VAutocomplete.js ***! 95 | \*******************************************************/ 96 | 97 | /*! exports provided: default */ 98 | 99 | /*! ../../stylus/components/_autocompletes.styl */ 100 | 101 | /*! ../VSelect/VSelect */ 102 | 103 | /*! ../VTextField/VTextField */ 104 | 105 | /*! ../../util/helpers */ 106 | 107 | /*!***********************************************!*\ 108 | !*** ./src/components/VAutocomplete/index.js ***! 109 | \***********************************************/ 110 | 111 | /*! exports provided: VAutocomplete, default */ 112 | 113 | /*! ./VAutocomplete */ 114 | 115 | /*!*******************************************!*\ 116 | !*** ./src/components/VAvatar/VAvatar.ts ***! 117 | \*******************************************/ 118 | 119 | /*! exports provided: default */ 120 | 121 | /*! ../../stylus/components/_avatars.styl */ 122 | 123 | /*! ../../mixins/colorable */ 124 | 125 | /*! ../../util/helpers */ 126 | 127 | /*! ../../util/mixins */ 128 | 129 | /*!*****************************************!*\ 130 | !*** ./src/components/VAvatar/index.ts ***! 131 | \*****************************************/ 132 | 133 | /*! exports provided: VAvatar, default */ 134 | 135 | /*! ./VAvatar */ 136 | 137 | /*!*****************************************!*\ 138 | !*** ./src/components/VBadge/VBadge.ts ***! 139 | \*****************************************/ 140 | 141 | /*! exports provided: default */ 142 | 143 | /*! ../../stylus/components/_badges.styl */ 144 | 145 | /*! ../../mixins/colorable */ 146 | 147 | /*! ../../mixins/toggleable */ 148 | 149 | /*! ../../mixins/positionable */ 150 | 151 | /*! ../../mixins/transitionable */ 152 | 153 | /*! ../../util/mixins */ 154 | 155 | /*!****************************************!*\ 156 | !*** ./src/components/VBadge/index.ts ***! 157 | \****************************************/ 158 | 159 | /*! exports provided: VBadge, default */ 160 | 161 | /*! ./VBadge */ 162 | 163 | /*!*************************************************!*\ 164 | !*** ./src/components/VBottomNav/VBottomNav.ts ***! 165 | \*************************************************/ 166 | 167 | /*! exports provided: default */ 168 | 169 | /*! ../../stylus/components/_bottom-navs.styl */ 170 | 171 | /*! ../../mixins/applicationable */ 172 | 173 | /*! ../../mixins/button-group */ 174 | 175 | /*! ../../mixins/colorable */ 176 | 177 | /*! ../../util/mixins */ 178 | 179 | /*!********************************************!*\ 180 | !*** ./src/components/VBottomNav/index.ts ***! 181 | \********************************************/ 182 | 183 | /*! exports provided: VBottomNav, default */ 184 | 185 | /*! ./VBottomNav */ 186 | 187 | /*!*****************************************************!*\ 188 | !*** ./src/components/VBottomSheet/VBottomSheet.js ***! 189 | \*****************************************************/ 190 | 191 | /*! exports provided: default */ 192 | 193 | /*! ../../stylus/components/_bottom-sheets.styl */ 194 | 195 | /*! ../VDialog/VDialog */ 196 | 197 | /*!**********************************************!*\ 198 | !*** ./src/components/VBottomSheet/index.js ***! 199 | \**********************************************/ 200 | 201 | /*! exports provided: VBottomSheet, default */ 202 | 203 | /*! ./VBottomSheet */ 204 | 205 | /*!*****************************************************!*\ 206 | !*** ./src/components/VBreadcrumbs/VBreadcrumbs.ts ***! 207 | \*****************************************************/ 208 | 209 | /*! exports provided: default */ 210 | 211 | /*! ../../stylus/components/_breadcrumbs.styl */ 212 | 213 | /*! . */ 214 | 215 | /*! ../../mixins/themeable */ 216 | 217 | /*! ../../util/console */ 218 | 219 | /*! ../../util/mixins */ 220 | 221 | /*!*********************************************************!*\ 222 | !*** ./src/components/VBreadcrumbs/VBreadcrumbsItem.ts ***! 223 | \*********************************************************/ 224 | 225 | /*! exports provided: default */ 226 | 227 | /*! ../../mixins/routable */ 228 | 229 | /*! ../../util/mixins */ 230 | 231 | /*!**********************************************!*\ 232 | !*** ./src/components/VBreadcrumbs/index.ts ***! 233 | \**********************************************/ 234 | 235 | /*! exports provided: VBreadcrumbs, VBreadcrumbsItem, VBreadcrumbsDivider, default */ 236 | 237 | /*! ./VBreadcrumbs */ 238 | 239 | /*! ./VBreadcrumbsItem */ 240 | 241 | /*! ../../util/helpers */ 242 | 243 | /*!*************************************!*\ 244 | !*** ./src/components/VBtn/VBtn.ts ***! 245 | \*************************************/ 246 | 247 | /*! exports provided: default */ 248 | 249 | /*! ../../stylus/components/_buttons.styl */ 250 | 251 | /*! ../../util/mixins */ 252 | 253 | /*! ../VProgressCircular */ 254 | 255 | /*! ../../mixins/colorable */ 256 | 257 | /*! ../../mixins/groupable */ 258 | 259 | /*! ../../mixins/positionable */ 260 | 261 | /*! ../../mixins/routable */ 262 | 263 | /*! ../../mixins/themeable */ 264 | 265 | /*! ../../mixins/toggleable */ 266 | 267 | /*!**************************************!*\ 268 | !*** ./src/components/VBtn/index.ts ***! 269 | \**************************************/ 270 | 271 | /*! exports provided: VBtn, default */ 272 | 273 | /*! ./VBtn */ 274 | 275 | /*!*************************************************!*\ 276 | !*** ./src/components/VBtnToggle/VBtnToggle.ts ***! 277 | \*************************************************/ 278 | 279 | /*! exports provided: default */ 280 | 281 | /*! ../../stylus/components/_button-toggle.styl */ 282 | 283 | /*! ../../mixins/button-group */ 284 | 285 | /*!********************************************!*\ 286 | !*** ./src/components/VBtnToggle/index.ts ***! 287 | \********************************************/ 288 | 289 | /*! exports provided: VBtnToggle, default */ 290 | 291 | /*! ./VBtnToggle */ 292 | 293 | /*!***************************************!*\ 294 | !*** ./src/components/VCard/VCard.ts ***! 295 | \***************************************/ 296 | 297 | /*! exports provided: default */ 298 | 299 | /*! ../../stylus/components/_cards.styl */ 300 | 301 | /*! ../../mixins/colorable */ 302 | 303 | /*! ../../mixins/measurable */ 304 | 305 | /*! ../../mixins/routable */ 306 | 307 | /*! ../../mixins/themeable */ 308 | 309 | /*! ../../util/helpers */ 310 | 311 | /*! ../../util/mixins */ 312 | 313 | /*!********************************************!*\ 314 | !*** ./src/components/VCard/VCardMedia.ts ***! 315 | \********************************************/ 316 | 317 | /*! exports provided: default */ 318 | 319 | /*! ../VImg/VImg */ 320 | 321 | /*! ../../util/console */ 322 | 323 | /*!********************************************!*\ 324 | !*** ./src/components/VCard/VCardTitle.ts ***! 325 | \********************************************/ 326 | 327 | /*! exports provided: default */ 328 | 329 | /*! vue */ 330 | 331 | /*!***************************************!*\ 332 | !*** ./src/components/VCard/index.ts ***! 333 | \***************************************/ 334 | 335 | /*! exports provided: VCard, VCardMedia, VCardTitle, VCardActions, VCardText, default */ 336 | 337 | /*! ../../util/helpers */ 338 | 339 | /*! ./VCard */ 340 | 341 | /*! ./VCardMedia */ 342 | 343 | /*! ./VCardTitle */ 344 | 345 | /*! vue */ 346 | 347 | /*!***********************************************!*\ 348 | !*** ./src/components/VCarousel/VCarousel.ts ***! 349 | \***********************************************/ 350 | 351 | /*! exports provided: default */ 352 | 353 | /*! ../../stylus/components/_carousel.styl */ 354 | 355 | /*! ../VWindow/VWindow */ 356 | 357 | /*! ../VBtn */ 358 | 359 | /*! ../VIcon */ 360 | 361 | /*! ../../mixins/button-group */ 362 | 363 | /*! ../../util/helpers */ 364 | 365 | /*!***************************************************!*\ 366 | !*** ./src/components/VCarousel/VCarouselItem.ts ***! 367 | \***************************************************/ 368 | 369 | /*! exports provided: default */ 370 | 371 | /*! ../VWindow/VWindowItem */ 372 | 373 | /*! ../VImg */ 374 | 375 | /*!*******************************************!*\ 376 | !*** ./src/components/VCarousel/index.ts ***! 377 | \*******************************************/ 378 | 379 | /*! exports provided: VCarousel, VCarouselItem, default */ 380 | 381 | /*! ./VCarousel */ 382 | 383 | /*! ./VCarouselItem */ 384 | 385 | /*!***********************************************!*\ 386 | !*** ./src/components/VCheckbox/VCheckbox.js ***! 387 | \***********************************************/ 388 | 389 | /*! exports provided: default */ 390 | 391 | /*! ../../stylus/components/_selection-controls.styl */ 392 | 393 | /*! ../VIcon */ 394 | 395 | /*! ../../mixins/selectable */ 396 | 397 | /*!*******************************************!*\ 398 | !*** ./src/components/VCheckbox/index.js ***! 399 | \*******************************************/ 400 | 401 | /*! exports provided: VCheckbox, default */ 402 | 403 | /*! ./VCheckbox */ 404 | 405 | /*!***************************************!*\ 406 | !*** ./src/components/VChip/VChip.ts ***! 407 | \***************************************/ 408 | 409 | /*! exports provided: default */ 410 | 411 | /*! ../../stylus/components/_chips.styl */ 412 | 413 | /*! ../../util/mixins */ 414 | 415 | /*! ../VIcon */ 416 | 417 | /*! ../../mixins/colorable */ 418 | 419 | /*! ../../mixins/themeable */ 420 | 421 | /*! ../../mixins/toggleable */ 422 | 423 | /*!***************************************!*\ 424 | !*** ./src/components/VChip/index.ts ***! 425 | \***************************************/ 426 | 427 | /*! exports provided: VChip, default */ 428 | 429 | /*! ./VChip */ 430 | 431 | /*!***********************************************!*\ 432 | !*** ./src/components/VCombobox/VCombobox.js ***! 433 | \***********************************************/ 434 | 435 | /*! exports provided: default */ 436 | 437 | /*! ../../stylus/components/_autocompletes.styl */ 438 | 439 | /*! ../VSelect/VSelect */ 440 | 441 | /*! ../VAutocomplete/VAutocomplete */ 442 | 443 | /*! ../../util/helpers */ 444 | 445 | /*!*******************************************!*\ 446 | !*** ./src/components/VCombobox/index.js ***! 447 | \*******************************************/ 448 | 449 | /*! exports provided: VCombobox, default */ 450 | 451 | /*! ./VCombobox */ 452 | 453 | /*!*********************************************!*\ 454 | !*** ./src/components/VCounter/VCounter.js ***! 455 | \*********************************************/ 456 | 457 | /*! exports provided: default */ 458 | 459 | /*! ../../stylus/components/_counters.styl */ 460 | 461 | /*! ../../mixins/themeable */ 462 | 463 | /*!******************************************!*\ 464 | !*** ./src/components/VCounter/index.js ***! 465 | \******************************************/ 466 | 467 | /*! exports provided: VCounter, default */ 468 | 469 | /*! ./VCounter */ 470 | 471 | /*!*******************************************************!*\ 472 | !*** ./src/components/VDataIterator/VDataIterator.js ***! 473 | \*******************************************************/ 474 | 475 | /*! exports provided: default */ 476 | 477 | /*! ../../stylus/components/_data-iterator.styl */ 478 | 479 | /*! ../../mixins/data-iterable */ 480 | 481 | /*!***********************************************!*\ 482 | !*** ./src/components/VDataIterator/index.js ***! 483 | \***********************************************/ 484 | 485 | /*! exports provided: VDataIterator, default */ 486 | 487 | /*! ./VDataIterator */ 488 | 489 | /*!*************************************************!*\ 490 | !*** ./src/components/VDataTable/VDataTable.js ***! 491 | \*************************************************/ 492 | 493 | /*! exports provided: default */ 494 | 495 | /*! ../../stylus/components/_tables.styl */ 496 | 497 | /*! ../../stylus/components/_data-table.styl */ 498 | 499 | /*! ../../mixins/data-iterable */ 500 | 501 | /*! ./mixins/head */ 502 | 503 | /*! ./mixins/body */ 504 | 505 | /*! ./mixins/foot */ 506 | 507 | /*! ./mixins/progress */ 508 | 509 | /*! ../../util/helpers */ 510 | 511 | /*!**************************************************!*\ 512 | !*** ./src/components/VDataTable/VEditDialog.js ***! 513 | \**************************************************/ 514 | 515 | /*! exports provided: default */ 516 | 517 | /*! ../../stylus/components/_small-dialog.styl */ 518 | 519 | /*! ../../mixins/returnable */ 520 | 521 | /*! ../../mixins/themeable */ 522 | 523 | /*! ../../util/helpers */ 524 | 525 | /*! ../VBtn */ 526 | 527 | /*! ../VMenu */ 528 | 529 | /*!********************************************!*\ 530 | !*** ./src/components/VDataTable/index.js ***! 531 | \********************************************/ 532 | 533 | /*! exports provided: VDataTable, VEditDialog, VTableOverflow, default */ 534 | 535 | /*! ../../util/helpers */ 536 | 537 | /*! ./VDataTable */ 538 | 539 | /*! ./VEditDialog */ 540 | 541 | /*!**************************************************!*\ 542 | !*** ./src/components/VDataTable/mixins/body.js ***! 543 | \**************************************************/ 544 | 545 | /*! exports provided: default */ 546 | 547 | /*! ../../transitions/expand-transition */ 548 | 549 | /*!**************************************************!*\ 550 | !*** ./src/components/VDataTable/mixins/foot.js ***! 551 | \**************************************************/ 552 | 553 | /*! exports provided: default */ 554 | 555 | /*!**************************************************!*\ 556 | !*** ./src/components/VDataTable/mixins/head.js ***! 557 | \**************************************************/ 558 | 559 | /*! exports provided: default */ 560 | 561 | /*! ../../../util/console */ 562 | 563 | /*! ../../VCheckbox */ 564 | 565 | /*! ../../VIcon */ 566 | 567 | /*!******************************************************!*\ 568 | !*** ./src/components/VDataTable/mixins/progress.js ***! 569 | \******************************************************/ 570 | 571 | /*! exports provided: default */ 572 | 573 | /*!***************************************************!*\ 574 | !*** ./src/components/VDatePicker/VDatePicker.js ***! 575 | \***************************************************/ 576 | 577 | /*! exports provided: default */ 578 | 579 | /*! ./VDatePickerTitle */ 580 | 581 | /*! ./VDatePickerHeader */ 582 | 583 | /*! ./VDatePickerDateTable */ 584 | 585 | /*! ./VDatePickerMonthTable */ 586 | 587 | /*! ./VDatePickerYears */ 588 | 589 | /*! ../../mixins/picker */ 590 | 591 | /*! ./util */ 592 | 593 | /*! ./util/isDateAllowed */ 594 | 595 | /*! ../../util/console */ 596 | 597 | /*!************************************************************!*\ 598 | !*** ./src/components/VDatePicker/VDatePickerDateTable.js ***! 599 | \************************************************************/ 600 | 601 | /*! exports provided: default */ 602 | 603 | /*! ../../mixins/colorable */ 604 | 605 | /*! ./mixins/date-picker-table */ 606 | 607 | /*! ../../mixins/themeable */ 608 | 609 | /*! ./util */ 610 | 611 | /*! ../../util/helpers */ 612 | 613 | /*!*********************************************************!*\ 614 | !*** ./src/components/VDatePicker/VDatePickerHeader.js ***! 615 | \*********************************************************/ 616 | 617 | /*! exports provided: default */ 618 | 619 | /*! ../../stylus/components/_date-picker-header.styl */ 620 | 621 | /*! ../VBtn */ 622 | 623 | /*! ../VIcon */ 624 | 625 | /*! ../../mixins/colorable */ 626 | 627 | /*! ../../mixins/themeable */ 628 | 629 | /*! ./util */ 630 | 631 | /*!*************************************************************!*\ 632 | !*** ./src/components/VDatePicker/VDatePickerMonthTable.js ***! 633 | \*************************************************************/ 634 | 635 | /*! exports provided: default */ 636 | 637 | /*! ../../mixins/colorable */ 638 | 639 | /*! ./mixins/date-picker-table */ 640 | 641 | /*! ../../mixins/themeable */ 642 | 643 | /*! ./util */ 644 | 645 | /*!********************************************************!*\ 646 | !*** ./src/components/VDatePicker/VDatePickerTitle.js ***! 647 | \********************************************************/ 648 | 649 | /*! exports provided: default */ 650 | 651 | /*! ../../stylus/components/_date-picker-title.styl */ 652 | 653 | /*! ../VIcon */ 654 | 655 | /*! ../../mixins/picker-button */ 656 | 657 | /*!********************************************************!*\ 658 | !*** ./src/components/VDatePicker/VDatePickerYears.js ***! 659 | \********************************************************/ 660 | 661 | /*! exports provided: default */ 662 | 663 | /*! ../../stylus/components/_date-picker-years.styl */ 664 | 665 | /*! ../../mixins/colorable */ 666 | 667 | /*! ./util */ 668 | 669 | /*!*********************************************!*\ 670 | !*** ./src/components/VDatePicker/index.js ***! 671 | \*********************************************/ 672 | 673 | /*! exports provided: VDatePicker, VDatePickerTitle, VDatePickerHeader, VDatePickerDateTable, VDatePickerMonthTable, VDatePickerYears, default */ 674 | 675 | /*! ./VDatePicker */ 676 | 677 | /*! ./VDatePickerTitle */ 678 | 679 | /*! ./VDatePickerHeader */ 680 | 681 | /*! ./VDatePickerDateTable */ 682 | 683 | /*! ./VDatePickerMonthTable */ 684 | 685 | /*! ./VDatePickerYears */ 686 | 687 | /*!****************************************************************!*\ 688 | !*** ./src/components/VDatePicker/mixins/date-picker-table.js ***! 689 | \****************************************************************/ 690 | 691 | /*! exports provided: default */ 692 | 693 | /*! ../../../stylus/components/_date-picker-table.styl */ 694 | 695 | /*! ../../../directives/touch */ 696 | 697 | /*! .././util/isDateAllowed */ 698 | 699 | /*!************************************************************************!*\ 700 | !*** ./src/components/VDatePicker/util/createNativeLocaleFormatter.js ***! 701 | \************************************************************************/ 702 | 703 | /*! exports provided: default */ 704 | 705 | /*! ./pad */ 706 | 707 | /*!**************************************************!*\ 708 | !*** ./src/components/VDatePicker/util/index.js ***! 709 | \**************************************************/ 710 | 711 | /*! exports provided: createNativeLocaleFormatter, monthChange, pad */ 712 | 713 | /*! ./createNativeLocaleFormatter */ 714 | 715 | /*! ./monthChange */ 716 | 717 | /*! ./pad */ 718 | 719 | /*!**********************************************************!*\ 720 | !*** ./src/components/VDatePicker/util/isDateAllowed.js ***! 721 | \**********************************************************/ 722 | 723 | /*! exports provided: default */ 724 | 725 | /*!********************************************************!*\ 726 | !*** ./src/components/VDatePicker/util/monthChange.js ***! 727 | \********************************************************/ 728 | 729 | /*! exports provided: default */ 730 | 731 | /*! ./pad */ 732 | 733 | /*!************************************************!*\ 734 | !*** ./src/components/VDatePicker/util/pad.js ***! 735 | \************************************************/ 736 | 737 | /*! exports provided: default */ 738 | 739 | /*!*******************************************!*\ 740 | !*** ./src/components/VDialog/VDialog.js ***! 741 | \*******************************************/ 742 | 743 | /*! exports provided: default */ 744 | 745 | /*! ../../stylus/components/_dialogs.styl */ 746 | 747 | /*! ../../mixins/dependent */ 748 | 749 | /*! ../../mixins/detachable */ 750 | 751 | /*! ../../mixins/overlayable */ 752 | 753 | /*! ../../mixins/returnable */ 754 | 755 | /*! ../../mixins/stackable */ 756 | 757 | /*! ../../mixins/toggleable */ 758 | 759 | /*! ../../directives/click-outside */ 760 | 761 | /*! ../../util/helpers */ 762 | 763 | /*! ../../util/ThemeProvider */ 764 | 765 | /*!*****************************************!*\ 766 | !*** ./src/components/VDialog/index.js ***! 767 | \*****************************************/ 768 | 769 | /*! exports provided: VDialog, default */ 770 | 771 | /*! ./VDialog */ 772 | 773 | /*!*********************************************!*\ 774 | !*** ./src/components/VDivider/VDivider.ts ***! 775 | \*********************************************/ 776 | 777 | /*! exports provided: default */ 778 | 779 | /*! ../../stylus/components/_dividers.styl */ 780 | 781 | /*! ../../mixins/themeable */ 782 | 783 | /*!******************************************!*\ 784 | !*** ./src/components/VDivider/index.ts ***! 785 | \******************************************/ 786 | 787 | /*! exports provided: VDivider, default */ 788 | 789 | /*! ./VDivider */ 790 | 791 | /*!***********************************************************!*\ 792 | !*** ./src/components/VExpansionPanel/VExpansionPanel.ts ***! 793 | \***********************************************************/ 794 | 795 | /*! exports provided: default */ 796 | 797 | /*! ../../stylus/components/_expansion-panel.styl */ 798 | 799 | /*! ../../mixins/themeable */ 800 | 801 | /*! ../../mixins/registrable */ 802 | 803 | /*! ../../util/mixins */ 804 | 805 | /*!******************************************************************!*\ 806 | !*** ./src/components/VExpansionPanel/VExpansionPanelContent.ts ***! 807 | \******************************************************************/ 808 | 809 | /*! exports provided: default */ 810 | 811 | /*! ../transitions */ 812 | 813 | /*! ../../mixins/bootable */ 814 | 815 | /*! ../../mixins/toggleable */ 816 | 817 | /*! ../../mixins/rippleable */ 818 | 819 | /*! ../../mixins/registrable */ 820 | 821 | /*! ../VIcon */ 822 | 823 | /*! ../../util/mixins */ 824 | 825 | /*! ../../util/console */ 826 | 827 | /*!*************************************************!*\ 828 | !*** ./src/components/VExpansionPanel/index.ts ***! 829 | \*************************************************/ 830 | 831 | /*! exports provided: VExpansionPanel, VExpansionPanelContent, default */ 832 | 833 | /*! ./VExpansionPanel */ 834 | 835 | /*! ./VExpansionPanelContent */ 836 | 837 | /*!*******************************************!*\ 838 | !*** ./src/components/VFooter/VFooter.js ***! 839 | \*******************************************/ 840 | 841 | /*! exports provided: default */ 842 | 843 | /*! ../../stylus/components/_footer.styl */ 844 | 845 | /*! ../../mixins/applicationable */ 846 | 847 | /*! ../../mixins/colorable */ 848 | 849 | /*! ../../mixins/themeable */ 850 | 851 | /*!*****************************************!*\ 852 | !*** ./src/components/VFooter/index.js ***! 853 | \*****************************************/ 854 | 855 | /*! exports provided: VFooter, default */ 856 | 857 | /*! ./VFooter */ 858 | 859 | /*!***************************************!*\ 860 | !*** ./src/components/VForm/VForm.js ***! 861 | \***************************************/ 862 | 863 | /*! exports provided: default */ 864 | 865 | /*! ../../stylus/components/_forms.styl */ 866 | 867 | /*! ../../mixins/registrable */ 868 | 869 | /*!***************************************!*\ 870 | !*** ./src/components/VForm/index.js ***! 871 | \***************************************/ 872 | 873 | /*! exports provided: VForm, default */ 874 | 875 | /*! ./VForm */ 876 | 877 | /*!********************************************!*\ 878 | !*** ./src/components/VGrid/VContainer.js ***! 879 | \********************************************/ 880 | 881 | /*! exports provided: default */ 882 | 883 | /*! ../../stylus/components/_grid.styl */ 884 | 885 | /*! ./grid */ 886 | 887 | /*!******************************************!*\ 888 | !*** ./src/components/VGrid/VContent.js ***! 889 | \******************************************/ 890 | 891 | /*! exports provided: default */ 892 | 893 | /*! ../../stylus/components/_content.styl */ 894 | 895 | /*! ../../mixins/ssr-bootable */ 896 | 897 | /*!***************************************!*\ 898 | !*** ./src/components/VGrid/VFlex.js ***! 899 | \***************************************/ 900 | 901 | /*! exports provided: default */ 902 | 903 | /*! ../../stylus/components/_grid.styl */ 904 | 905 | /*! ./grid */ 906 | 907 | /*!*****************************************!*\ 908 | !*** ./src/components/VGrid/VLayout.js ***! 909 | \*****************************************/ 910 | 911 | /*! exports provided: default */ 912 | 913 | /*! ../../stylus/components/_grid.styl */ 914 | 915 | /*! ./grid */ 916 | 917 | /*!**************************************!*\ 918 | !*** ./src/components/VGrid/grid.js ***! 919 | \**************************************/ 920 | 921 | /*! exports provided: default */ 922 | 923 | /*!***************************************!*\ 924 | !*** ./src/components/VGrid/index.js ***! 925 | \***************************************/ 926 | 927 | /*! exports provided: VContainer, VContent, VFlex, VLayout, VSpacer, default */ 928 | 929 | /*! ../../util/helpers */ 930 | 931 | /*! ./VContainer */ 932 | 933 | /*! ./VContent */ 934 | 935 | /*! ./VFlex */ 936 | 937 | /*! ./VLayout */ 938 | 939 | /*!*****************************************!*\ 940 | !*** ./src/components/VHover/VHover.ts ***! 941 | \*****************************************/ 942 | 943 | /*! exports provided: default */ 944 | 945 | /*! ../../mixins/delayable */ 946 | 947 | /*! ../../mixins/toggleable */ 948 | 949 | /*! ../../util/mixins */ 950 | 951 | /*! ../../util/console */ 952 | 953 | /*!****************************************!*\ 954 | !*** ./src/components/VHover/index.ts ***! 955 | \****************************************/ 956 | 957 | /*! exports provided: VHover, default */ 958 | 959 | /*! ./VHover */ 960 | 961 | /*!***************************************!*\ 962 | !*** ./src/components/VIcon/VIcon.ts ***! 963 | \***************************************/ 964 | 965 | /*! exports provided: default */ 966 | 967 | /*! ../../stylus/components/_icons.styl */ 968 | 969 | /*! ../../mixins/colorable */ 970 | 971 | /*! ../../mixins/sizeable */ 972 | 973 | /*! ../../mixins/themeable */ 974 | 975 | /*! ../../util/helpers */ 976 | 977 | /*! vue */ 978 | 979 | /*! ../../util/mixins */ 980 | 981 | /*!***************************************!*\ 982 | !*** ./src/components/VIcon/index.ts ***! 983 | \***************************************/ 984 | 985 | /*! exports provided: VIcon, default */ 986 | 987 | /*! ./VIcon */ 988 | 989 | /*!*************************************!*\ 990 | !*** ./src/components/VImg/VImg.ts ***! 991 | \*************************************/ 992 | 993 | /*! exports provided: default */ 994 | 995 | /*! ../../stylus/components/_images.styl */ 996 | 997 | /*! ../VResponsive */ 998 | 999 | /*! ../../util/console */ 1000 | 1001 | /*!**************************************!*\ 1002 | !*** ./src/components/VImg/index.ts ***! 1003 | \**************************************/ 1004 | 1005 | /*! exports provided: VImg, default */ 1006 | 1007 | /*! ./VImg */ 1008 | 1009 | /*!*****************************************!*\ 1010 | !*** ./src/components/VInput/VInput.js ***! 1011 | \*****************************************/ 1012 | 1013 | /*! exports provided: default */ 1014 | 1015 | /*! ../../stylus/components/_inputs.styl */ 1016 | 1017 | /*! ../VIcon */ 1018 | 1019 | /*! ../VLabel */ 1020 | 1021 | /*! ../VMessages */ 1022 | 1023 | /*! ../../mixins/colorable */ 1024 | 1025 | /*! ../../mixins/themeable */ 1026 | 1027 | /*! ../../mixins/validatable */ 1028 | 1029 | /*! ../../util/helpers */ 1030 | 1031 | /*! ../../util/console */ 1032 | 1033 | /*!****************************************!*\ 1034 | !*** ./src/components/VInput/index.js ***! 1035 | \****************************************/ 1036 | 1037 | /*! exports provided: VInput, default */ 1038 | 1039 | /*! ./VInput */ 1040 | 1041 | /*!********************************************!*\ 1042 | !*** ./src/components/VItemGroup/VItem.ts ***! 1043 | \********************************************/ 1044 | 1045 | /*! exports provided: default */ 1046 | 1047 | /*! ../../mixins/groupable */ 1048 | 1049 | /*! ../../util/mixins */ 1050 | 1051 | /*! ../../util/console */ 1052 | 1053 | /*!*************************************************!*\ 1054 | !*** ./src/components/VItemGroup/VItemGroup.ts ***! 1055 | \*************************************************/ 1056 | 1057 | /*! exports provided: BaseItemGroup, default */ 1058 | 1059 | /*! ../../stylus/components/_item-group.styl */ 1060 | 1061 | /*! ../../mixins/proxyable */ 1062 | 1063 | /*! ../../mixins/themeable */ 1064 | 1065 | /*! ../../util/mixins */ 1066 | 1067 | /*! ../../util/console */ 1068 | 1069 | /*!********************************************!*\ 1070 | !*** ./src/components/VItemGroup/index.ts ***! 1071 | \********************************************/ 1072 | 1073 | /*! exports provided: VItem, VItemGroup, default */ 1074 | 1075 | /*! ./VItem */ 1076 | 1077 | /*! ./VItemGroup */ 1078 | 1079 | /*!*************************************************!*\ 1080 | !*** ./src/components/VJumbotron/VJumbotron.js ***! 1081 | \*************************************************/ 1082 | 1083 | /*! exports provided: default */ 1084 | 1085 | /*! ../../stylus/components/_jumbotrons.styl */ 1086 | 1087 | /*! ../../mixins/colorable */ 1088 | 1089 | /*! ../../mixins/routable */ 1090 | 1091 | /*! ../../mixins/themeable */ 1092 | 1093 | /*! ../../util/console */ 1094 | 1095 | /*!********************************************!*\ 1096 | !*** ./src/components/VJumbotron/index.js ***! 1097 | \********************************************/ 1098 | 1099 | /*! exports provided: VJumbotron, default */ 1100 | 1101 | /*! ./VJumbotron */ 1102 | 1103 | /*!*****************************************!*\ 1104 | !*** ./src/components/VLabel/VLabel.js ***! 1105 | \*****************************************/ 1106 | 1107 | /*! exports provided: default */ 1108 | 1109 | /*! ../../stylus/components/_labels.styl */ 1110 | 1111 | /*! ../../mixins/colorable */ 1112 | 1113 | /*! ../../mixins/themeable */ 1114 | 1115 | /*! ../../util/helpers */ 1116 | 1117 | /*!****************************************!*\ 1118 | !*** ./src/components/VLabel/index.js ***! 1119 | \****************************************/ 1120 | 1121 | /*! exports provided: VLabel, default */ 1122 | 1123 | /*! ./VLabel */ 1124 | 1125 | /*!***************************************!*\ 1126 | !*** ./src/components/VList/VList.js ***! 1127 | \***************************************/ 1128 | 1129 | /*! exports provided: default */ 1130 | 1131 | /*! ../../stylus/components/_lists.styl */ 1132 | 1133 | /*! ../../mixins/themeable */ 1134 | 1135 | /*! ../../mixins/registrable */ 1136 | 1137 | /*!********************************************!*\ 1138 | !*** ./src/components/VList/VListGroup.js ***! 1139 | \********************************************/ 1140 | 1141 | /*! exports provided: default */ 1142 | 1143 | /*! ../../components/VIcon */ 1144 | 1145 | /*! ../../mixins/bootable */ 1146 | 1147 | /*! ../../mixins/toggleable */ 1148 | 1149 | /*! ../../mixins/registrable */ 1150 | 1151 | /*! ../transitions */ 1152 | 1153 | /*!*******************************************!*\ 1154 | !*** ./src/components/VList/VListTile.js ***! 1155 | \*******************************************/ 1156 | 1157 | /*! exports provided: default */ 1158 | 1159 | /*! ../../mixins/colorable */ 1160 | 1161 | /*! ../../mixins/routable */ 1162 | 1163 | /*! ../../mixins/toggleable */ 1164 | 1165 | /*! ../../mixins/themeable */ 1166 | 1167 | /*! ../../directives/ripple */ 1168 | 1169 | /*!*************************************************!*\ 1170 | !*** ./src/components/VList/VListTileAction.js ***! 1171 | \*************************************************/ 1172 | 1173 | /*! exports provided: default */ 1174 | 1175 | /*!*************************************************!*\ 1176 | !*** ./src/components/VList/VListTileAvatar.js ***! 1177 | \*************************************************/ 1178 | 1179 | /*! exports provided: default */ 1180 | 1181 | /*! ../VAvatar */ 1182 | 1183 | /*!***************************************!*\ 1184 | !*** ./src/components/VList/index.js ***! 1185 | \***************************************/ 1186 | 1187 | /*! exports provided: VList, VListGroup, VListTile, VListTileAction, VListTileAvatar, VListTileActionText, VListTileContent, VListTileTitle, VListTileSubTitle, default */ 1188 | 1189 | /*! ../../util/helpers */ 1190 | 1191 | /*! ./VList */ 1192 | 1193 | /*! ./VListGroup */ 1194 | 1195 | /*! ./VListTile */ 1196 | 1197 | /*! ./VListTileAction */ 1198 | 1199 | /*! ./VListTileAvatar */ 1200 | 1201 | /*!***************************************!*\ 1202 | !*** ./src/components/VMenu/VMenu.js ***! 1203 | \***************************************/ 1204 | 1205 | /*! exports provided: default */ 1206 | 1207 | /*! ../../stylus/components/_menus.styl */ 1208 | 1209 | /*! vue */ 1210 | 1211 | /*! ../../mixins/delayable */ 1212 | 1213 | /*! ../../mixins/dependent */ 1214 | 1215 | /*! ../../mixins/detachable */ 1216 | 1217 | /*! ../../mixins/menuable.js */ 1218 | 1219 | /*! ../../mixins/returnable */ 1220 | 1221 | /*! ../../mixins/toggleable */ 1222 | 1223 | /*! ../../mixins/themeable */ 1224 | 1225 | /*! ./mixins/menu-activator */ 1226 | 1227 | /*! ./mixins/menu-generators */ 1228 | 1229 | /*! ./mixins/menu-keyable */ 1230 | 1231 | /*! ./mixins/menu-position */ 1232 | 1233 | /*! ../../directives/click-outside */ 1234 | 1235 | /*! ../../directives/resize */ 1236 | 1237 | /*! ../../util/helpers */ 1238 | 1239 | /*! ../../util/ThemeProvider */ 1240 | 1241 | /*!***************************************!*\ 1242 | !*** ./src/components/VMenu/index.js ***! 1243 | \***************************************/ 1244 | 1245 | /*! exports provided: VMenu, default */ 1246 | 1247 | /*! ./VMenu */ 1248 | 1249 | /*!*******************************************************!*\ 1250 | !*** ./src/components/VMenu/mixins/menu-activator.js ***! 1251 | \*******************************************************/ 1252 | 1253 | /*! exports provided: default */ 1254 | 1255 | /*!********************************************************!*\ 1256 | !*** ./src/components/VMenu/mixins/menu-generators.js ***! 1257 | \********************************************************/ 1258 | 1259 | /*! exports provided: default */ 1260 | 1261 | /*!*****************************************************!*\ 1262 | !*** ./src/components/VMenu/mixins/menu-keyable.js ***! 1263 | \*****************************************************/ 1264 | 1265 | /*! exports provided: default */ 1266 | 1267 | /*! ../../../util/helpers */ 1268 | 1269 | /*!******************************************************!*\ 1270 | !*** ./src/components/VMenu/mixins/menu-position.js ***! 1271 | \******************************************************/ 1272 | 1273 | /*! exports provided: default */ 1274 | 1275 | /*!***********************************************!*\ 1276 | !*** ./src/components/VMessages/VMessages.js ***! 1277 | \***********************************************/ 1278 | 1279 | /*! exports provided: default */ 1280 | 1281 | /*! ../../stylus/components/_messages.styl */ 1282 | 1283 | /*! ../../mixins/colorable */ 1284 | 1285 | /*! ../../mixins/themeable */ 1286 | 1287 | /*!*******************************************!*\ 1288 | !*** ./src/components/VMessages/index.js ***! 1289 | \*******************************************/ 1290 | 1291 | /*! exports provided: VMessages, default */ 1292 | 1293 | /*! ./VMessages */ 1294 | 1295 | /*!***************************************************************!*\ 1296 | !*** ./src/components/VNavigationDrawer/VNavigationDrawer.js ***! 1297 | \***************************************************************/ 1298 | 1299 | /*! exports provided: default */ 1300 | 1301 | /*! ../../stylus/components/_navigation-drawer.styl */ 1302 | 1303 | /*! ../../mixins/applicationable */ 1304 | 1305 | /*! ../../mixins/dependent */ 1306 | 1307 | /*! ../../mixins/overlayable */ 1308 | 1309 | /*! ../../mixins/ssr-bootable */ 1310 | 1311 | /*! ../../mixins/themeable */ 1312 | 1313 | /*! ../../directives/click-outside */ 1314 | 1315 | /*! ../../directives/resize */ 1316 | 1317 | /*! ../../directives/touch */ 1318 | 1319 | /*! ../../util/helpers */ 1320 | 1321 | /*!***************************************************!*\ 1322 | !*** ./src/components/VNavigationDrawer/index.js ***! 1323 | \***************************************************/ 1324 | 1325 | /*! exports provided: VNavigationDrawer, default */ 1326 | 1327 | /*! ./VNavigationDrawer */ 1328 | 1329 | /*!*****************************************************!*\ 1330 | !*** ./src/components/VOverflowBtn/VOverflowBtn.js ***! 1331 | \*****************************************************/ 1332 | 1333 | /*! exports provided: default */ 1334 | 1335 | /*! ../../stylus/components/_overflow-buttons.styl */ 1336 | 1337 | /*! ../VSelect/VSelect */ 1338 | 1339 | /*! ../VAutocomplete */ 1340 | 1341 | /*! ../VTextField/VTextField */ 1342 | 1343 | /*! ../VBtn */ 1344 | 1345 | /*! ../../util/console */ 1346 | 1347 | /*!**********************************************!*\ 1348 | !*** ./src/components/VOverflowBtn/index.js ***! 1349 | \**********************************************/ 1350 | 1351 | /*! exports provided: VOverflowBtn, default */ 1352 | 1353 | /*! ./VOverflowBtn */ 1354 | 1355 | /*!***************************************************!*\ 1356 | !*** ./src/components/VPagination/VPagination.ts ***! 1357 | \***************************************************/ 1358 | 1359 | /*! exports provided: default */ 1360 | 1361 | /*! ../../stylus/components/_pagination.styl */ 1362 | 1363 | /*! ../VIcon */ 1364 | 1365 | /*! ../../directives/resize */ 1366 | 1367 | /*! ../../util/mixins */ 1368 | 1369 | /*! ../../mixins/colorable */ 1370 | 1371 | /*! ../../mixins/themeable */ 1372 | 1373 | /*!*********************************************!*\ 1374 | !*** ./src/components/VPagination/index.ts ***! 1375 | \*********************************************/ 1376 | 1377 | /*! exports provided: VPagination, default */ 1378 | 1379 | /*! ./VPagination */ 1380 | 1381 | /*!***********************************************!*\ 1382 | !*** ./src/components/VParallax/VParallax.ts ***! 1383 | \***********************************************/ 1384 | 1385 | /*! exports provided: default */ 1386 | 1387 | /*! ../../stylus/components/_parallax.styl */ 1388 | 1389 | /*! ../../mixins/translatable */ 1390 | 1391 | /*! ../../util/mixins */ 1392 | 1393 | /*!*******************************************!*\ 1394 | !*** ./src/components/VParallax/index.ts ***! 1395 | \*******************************************/ 1396 | 1397 | /*! exports provided: VParallax, default */ 1398 | 1399 | /*! ./VParallax */ 1400 | 1401 | /*!*******************************************!*\ 1402 | !*** ./src/components/VPicker/VPicker.js ***! 1403 | \*******************************************/ 1404 | 1405 | /*! exports provided: default */ 1406 | 1407 | /*! ../../stylus/components/_pickers.styl */ 1408 | 1409 | /*! ../../stylus/components/_cards.styl */ 1410 | 1411 | /*! ../../mixins/colorable */ 1412 | 1413 | /*! ../../mixins/themeable */ 1414 | 1415 | /*! ../../util/helpers */ 1416 | 1417 | /*!*****************************************!*\ 1418 | !*** ./src/components/VPicker/index.js ***! 1419 | \*****************************************/ 1420 | 1421 | /*! exports provided: VPicker, default */ 1422 | 1423 | /*! ./VPicker */ 1424 | 1425 | /*!***************************************************************!*\ 1426 | !*** ./src/components/VProgressCircular/VProgressCircular.ts ***! 1427 | \***************************************************************/ 1428 | 1429 | /*! exports provided: default */ 1430 | 1431 | /*! ../../stylus/components/_progress-circular.styl */ 1432 | 1433 | /*! ../../mixins/colorable */ 1434 | 1435 | /*! ../../util/mixins */ 1436 | 1437 | /*!***************************************************!*\ 1438 | !*** ./src/components/VProgressCircular/index.ts ***! 1439 | \***************************************************/ 1440 | 1441 | /*! exports provided: VProgressCircular, default */ 1442 | 1443 | /*! ./VProgressCircular */ 1444 | 1445 | /*!***********************************************************!*\ 1446 | !*** ./src/components/VProgressLinear/VProgressLinear.ts ***! 1447 | \***********************************************************/ 1448 | 1449 | /*! exports provided: default */ 1450 | 1451 | /*! ../../stylus/components/_progress-linear.styl */ 1452 | 1453 | /*! ../../mixins/colorable */ 1454 | 1455 | /*! ../../util/helpers */ 1456 | 1457 | /*! ../../util/mixins */ 1458 | 1459 | /*! ../transitions */ 1460 | 1461 | /*!*************************************************!*\ 1462 | !*** ./src/components/VProgressLinear/index.ts ***! 1463 | \*************************************************/ 1464 | 1465 | /*! exports provided: VProgressLinear, default */ 1466 | 1467 | /*! ./VProgressLinear */ 1468 | 1469 | /*!**********************************************!*\ 1470 | !*** ./src/components/VRadioGroup/VRadio.js ***! 1471 | \**********************************************/ 1472 | 1473 | /*! exports provided: default */ 1474 | 1475 | /*! ../../stylus/components/_radios.styl */ 1476 | 1477 | /*! ../VIcon */ 1478 | 1479 | /*! ../VLabel */ 1480 | 1481 | /*! ../../mixins/colorable */ 1482 | 1483 | /*! ../../mixins/rippleable */ 1484 | 1485 | /*! ../../mixins/themeable */ 1486 | 1487 | /*! ../../mixins/selectable */ 1488 | 1489 | /*! ../../mixins/registrable */ 1490 | 1491 | /*!***************************************************!*\ 1492 | !*** ./src/components/VRadioGroup/VRadioGroup.js ***! 1493 | \***************************************************/ 1494 | 1495 | /*! exports provided: default */ 1496 | 1497 | /*! ../../stylus/components/_selection-controls.styl */ 1498 | 1499 | /*! ../../stylus/components/_radio-group.styl */ 1500 | 1501 | /*! ../VInput */ 1502 | 1503 | /*! ../../mixins/comparable */ 1504 | 1505 | /*! ../../mixins/registrable */ 1506 | 1507 | /*!*********************************************!*\ 1508 | !*** ./src/components/VRadioGroup/index.js ***! 1509 | \*********************************************/ 1510 | 1511 | /*! exports provided: VRadioGroup, VRadio, default */ 1512 | 1513 | /*! ./VRadioGroup */ 1514 | 1515 | /*! ./VRadio */ 1516 | 1517 | /*!*****************************************************!*\ 1518 | !*** ./src/components/VRangeSlider/VRangeSlider.js ***! 1519 | \*****************************************************/ 1520 | 1521 | /*! exports provided: default */ 1522 | 1523 | /*! ../../stylus/components/_range-sliders.styl */ 1524 | 1525 | /*! ../VSlider */ 1526 | 1527 | /*! ../../util/helpers */ 1528 | 1529 | /*!**********************************************!*\ 1530 | !*** ./src/components/VRangeSlider/index.js ***! 1531 | \**********************************************/ 1532 | 1533 | /*! exports provided: VRangeSlider, default */ 1534 | 1535 | /*! ./VRangeSlider */ 1536 | 1537 | /*!*******************************************!*\ 1538 | !*** ./src/components/VRating/VRating.ts ***! 1539 | \*******************************************/ 1540 | 1541 | /*! exports provided: default */ 1542 | 1543 | /*! ../../stylus/components/_rating.styl */ 1544 | 1545 | /*! ../VIcon */ 1546 | 1547 | /*! ../../mixins/colorable */ 1548 | 1549 | /*! ../../mixins/delayable */ 1550 | 1551 | /*! ../../mixins/sizeable */ 1552 | 1553 | /*! ../../mixins/rippleable */ 1554 | 1555 | /*! ../../mixins/themeable */ 1556 | 1557 | /*! ../../util/helpers */ 1558 | 1559 | /*! ../../util/mixins */ 1560 | 1561 | /*!*****************************************!*\ 1562 | !*** ./src/components/VRating/index.ts ***! 1563 | \*****************************************/ 1564 | 1565 | /*! exports provided: VRating, default */ 1566 | 1567 | /*! ./VRating */ 1568 | 1569 | /*!***************************************************!*\ 1570 | !*** ./src/components/VResponsive/VResponsive.ts ***! 1571 | \***************************************************/ 1572 | 1573 | /*! exports provided: default */ 1574 | 1575 | /*! ../../stylus/components/_responsive.styl */ 1576 | 1577 | /*! ../../mixins/measurable */ 1578 | 1579 | /*! ../../util/mixins */ 1580 | 1581 | /*! ../../util/helpers */ 1582 | 1583 | /*!*********************************************!*\ 1584 | !*** ./src/components/VResponsive/index.ts ***! 1585 | \*********************************************/ 1586 | 1587 | /*! exports provided: VResponsive, default */ 1588 | 1589 | /*! ./VResponsive */ 1590 | 1591 | /*!*******************************************!*\ 1592 | !*** ./src/components/VSelect/VSelect.js ***! 1593 | \*******************************************/ 1594 | 1595 | /*! exports provided: defaultMenuProps, default */ 1596 | 1597 | /*! ../../stylus/components/_text-fields.styl */ 1598 | 1599 | /*! ../../stylus/components/_select.styl */ 1600 | 1601 | /*! ../VChip */ 1602 | 1603 | /*! ../VMenu */ 1604 | 1605 | /*! ./VSelectList */ 1606 | 1607 | /*! ../VTextField/VTextField */ 1608 | 1609 | /*! ../../mixins/comparable */ 1610 | 1611 | /*! ../../mixins/filterable */ 1612 | 1613 | /*! ../../directives/click-outside */ 1614 | 1615 | /*! ../../util/helpers */ 1616 | 1617 | /*! ../../util/console */ 1618 | 1619 | /*!***********************************************!*\ 1620 | !*** ./src/components/VSelect/VSelectList.js ***! 1621 | \***********************************************/ 1622 | 1623 | /*! exports provided: default */ 1624 | 1625 | /*! ../../stylus/components/_cards.styl */ 1626 | 1627 | /*! ../VCheckbox */ 1628 | 1629 | /*! ../VDivider */ 1630 | 1631 | /*! ../VSubheader */ 1632 | 1633 | /*! ../VList */ 1634 | 1635 | /*! ../../mixins/colorable */ 1636 | 1637 | /*! ../../mixins/themeable */ 1638 | 1639 | /*! ../../util/helpers */ 1640 | 1641 | /*!*****************************************!*\ 1642 | !*** ./src/components/VSelect/index.js ***! 1643 | \*****************************************/ 1644 | 1645 | /*! exports provided: VSelect, default */ 1646 | 1647 | /*! ./VSelect */ 1648 | 1649 | /*! ../VOverflowBtn */ 1650 | 1651 | /*! ../VAutocomplete */ 1652 | 1653 | /*! ../VCombobox */ 1654 | 1655 | /*! ../../util/rebuildFunctionalSlots */ 1656 | 1657 | /*! ../../util/dedupeModelListeners */ 1658 | 1659 | /*! ../../util/console */ 1660 | 1661 | /*!*******************************************!*\ 1662 | !*** ./src/components/VSlider/VSlider.js ***! 1663 | \*******************************************/ 1664 | 1665 | /*! exports provided: default */ 1666 | 1667 | /*! ../../stylus/components/_sliders.styl */ 1668 | 1669 | /*! ../transitions */ 1670 | 1671 | /*! ../VInput */ 1672 | 1673 | /*! ../../directives/click-outside */ 1674 | 1675 | /*! ../../util/helpers */ 1676 | 1677 | /*! ../../util/console */ 1678 | 1679 | /*! ../../mixins/loadable */ 1680 | 1681 | /*!*****************************************!*\ 1682 | !*** ./src/components/VSlider/index.js ***! 1683 | \*****************************************/ 1684 | 1685 | /*! exports provided: VSlider, default */ 1686 | 1687 | /*! ./VSlider */ 1688 | 1689 | /*!***********************************************!*\ 1690 | !*** ./src/components/VSnackbar/VSnackbar.ts ***! 1691 | \***********************************************/ 1692 | 1693 | /*! exports provided: default */ 1694 | 1695 | /*! ../../stylus/components/_snackbars.styl */ 1696 | 1697 | /*! ../../mixins/colorable */ 1698 | 1699 | /*! ../../mixins/toggleable */ 1700 | 1701 | /*! ../../mixins/positionable */ 1702 | 1703 | /*! ../../util/mixins */ 1704 | 1705 | /*!*******************************************!*\ 1706 | !*** ./src/components/VSnackbar/index.ts ***! 1707 | \*******************************************/ 1708 | 1709 | /*! exports provided: VSnackbar, default */ 1710 | 1711 | /*! ./VSnackbar */ 1712 | 1713 | /*!*************************************************!*\ 1714 | !*** ./src/components/VSpeedDial/VSpeedDial.js ***! 1715 | \*************************************************/ 1716 | 1717 | /*! exports provided: default */ 1718 | 1719 | /*! ../../stylus/components/_speed-dial.styl */ 1720 | 1721 | /*! ../../mixins/toggleable */ 1722 | 1723 | /*! ../../mixins/positionable */ 1724 | 1725 | /*! ../../mixins/transitionable */ 1726 | 1727 | /*! ../../directives/click-outside */ 1728 | 1729 | /*!********************************************!*\ 1730 | !*** ./src/components/VSpeedDial/index.js ***! 1731 | \********************************************/ 1732 | 1733 | /*! exports provided: VSpeedDial, default */ 1734 | 1735 | /*! ./VSpeedDial */ 1736 | 1737 | /*!*********************************************!*\ 1738 | !*** ./src/components/VStepper/VStepper.js ***! 1739 | \*********************************************/ 1740 | 1741 | /*! exports provided: default */ 1742 | 1743 | /*! ../../stylus/components/_steppers.styl */ 1744 | 1745 | /*! ../../mixins/registrable */ 1746 | 1747 | /*! ../../mixins/themeable */ 1748 | 1749 | /*!****************************************************!*\ 1750 | !*** ./src/components/VStepper/VStepperContent.js ***! 1751 | \****************************************************/ 1752 | 1753 | /*! exports provided: default */ 1754 | 1755 | /*! ../transitions */ 1756 | 1757 | /*! ../../mixins/registrable */ 1758 | 1759 | /*! ../../util/helpers */ 1760 | 1761 | /*!*************************************************!*\ 1762 | !*** ./src/components/VStepper/VStepperStep.js ***! 1763 | \*************************************************/ 1764 | 1765 | /*! exports provided: default */ 1766 | 1767 | /*! ../VIcon */ 1768 | 1769 | /*! ../../mixins/colorable */ 1770 | 1771 | /*! ../../mixins/registrable */ 1772 | 1773 | /*! ../../directives/ripple */ 1774 | 1775 | /*!******************************************!*\ 1776 | !*** ./src/components/VStepper/index.js ***! 1777 | \******************************************/ 1778 | 1779 | /*! exports provided: VStepper, VStepperContent, VStepperStep, VStepperHeader, VStepperItems, default */ 1780 | 1781 | /*! ../../util/helpers */ 1782 | 1783 | /*! ./VStepper */ 1784 | 1785 | /*! ./VStepperStep */ 1786 | 1787 | /*! ./VStepperContent */ 1788 | 1789 | /*!*************************************************!*\ 1790 | !*** ./src/components/VSubheader/VSubheader.js ***! 1791 | \*************************************************/ 1792 | 1793 | /*! exports provided: default */ 1794 | 1795 | /*! ../../stylus/components/_subheaders.styl */ 1796 | 1797 | /*! ../../mixins/themeable */ 1798 | 1799 | /*!********************************************!*\ 1800 | !*** ./src/components/VSubheader/index.js ***! 1801 | \********************************************/ 1802 | 1803 | /*! exports provided: VSubheader, default */ 1804 | 1805 | /*! ./VSubheader */ 1806 | 1807 | /*!*******************************************!*\ 1808 | !*** ./src/components/VSwitch/VSwitch.js ***! 1809 | \*******************************************/ 1810 | 1811 | /*! exports provided: default */ 1812 | 1813 | /*! ../../stylus/components/_selection-controls.styl */ 1814 | 1815 | /*! ../../stylus/components/_switch.styl */ 1816 | 1817 | /*! ../../mixins/selectable */ 1818 | 1819 | /*! ../../directives/touch */ 1820 | 1821 | /*! ../transitions */ 1822 | 1823 | /*! ../VProgressCircular/VProgressCircular */ 1824 | 1825 | /*! ../../util/helpers */ 1826 | 1827 | /*!*****************************************!*\ 1828 | !*** ./src/components/VSwitch/index.js ***! 1829 | \*****************************************/ 1830 | 1831 | /*! exports provided: VSwitch, default */ 1832 | 1833 | /*! ./VSwitch */ 1834 | 1835 | /*!*************************************************!*\ 1836 | !*** ./src/components/VSystemBar/VSystemBar.js ***! 1837 | \*************************************************/ 1838 | 1839 | /*! exports provided: default */ 1840 | 1841 | /*! ../../stylus/components/_system-bars.styl */ 1842 | 1843 | /*! ../../mixins/applicationable */ 1844 | 1845 | /*! ../../mixins/colorable */ 1846 | 1847 | /*! ../../mixins/themeable */ 1848 | 1849 | /*!********************************************!*\ 1850 | !*** ./src/components/VSystemBar/index.js ***! 1851 | \********************************************/ 1852 | 1853 | /*! exports provided: VSystemBar, default */ 1854 | 1855 | /*! ./VSystemBar */ 1856 | 1857 | /*!**************************************!*\ 1858 | !*** ./src/components/VTabs/VTab.js ***! 1859 | \**************************************/ 1860 | 1861 | /*! exports provided: default */ 1862 | 1863 | /*! ../../mixins/groupable */ 1864 | 1865 | /*! ../../mixins/routable */ 1866 | 1867 | /*! ../../mixins/themeable */ 1868 | 1869 | /*! ../../util/helpers */ 1870 | 1871 | /*!******************************************!*\ 1872 | !*** ./src/components/VTabs/VTabItem.js ***! 1873 | \******************************************/ 1874 | 1875 | /*! exports provided: default */ 1876 | 1877 | /*! ../VWindow/VWindowItem */ 1878 | 1879 | /*! ../../util/console */ 1880 | 1881 | /*!***************************************!*\ 1882 | !*** ./src/components/VTabs/VTabs.js ***! 1883 | \***************************************/ 1884 | 1885 | /*! exports provided: default */ 1886 | 1887 | /*! ../../stylus/components/_tabs.styl */ 1888 | 1889 | /*! ../VItemGroup/VItemGroup */ 1890 | 1891 | /*! ./mixins/tabs-computed */ 1892 | 1893 | /*! ./mixins/tabs-generators */ 1894 | 1895 | /*! ./mixins/tabs-props */ 1896 | 1897 | /*! ./mixins/tabs-touch */ 1898 | 1899 | /*! ./mixins/tabs-watchers */ 1900 | 1901 | /*! ../../mixins/colorable */ 1902 | 1903 | /*! ../../mixins/ssr-bootable */ 1904 | 1905 | /*! ../../mixins/themeable */ 1906 | 1907 | /*! ../../directives/resize */ 1908 | 1909 | /*! ../../directives/touch */ 1910 | 1911 | /*! ../../util/console */ 1912 | 1913 | /*! ../../util/ThemeProvider */ 1914 | 1915 | /*!********************************************!*\ 1916 | !*** ./src/components/VTabs/VTabsItems.js ***! 1917 | \********************************************/ 1918 | 1919 | /*! exports provided: default */ 1920 | 1921 | /*! ../VWindow/VWindow */ 1922 | 1923 | /*!*********************************************!*\ 1924 | !*** ./src/components/VTabs/VTabsSlider.js ***! 1925 | \*********************************************/ 1926 | 1927 | /*! exports provided: default */ 1928 | 1929 | /*! ../../mixins/colorable */ 1930 | 1931 | /*!***************************************!*\ 1932 | !*** ./src/components/VTabs/index.js ***! 1933 | \***************************************/ 1934 | 1935 | /*! exports provided: VTabs, VTab, VTabItem, VTabsItems, VTabsSlider, default */ 1936 | 1937 | /*! ./VTabs */ 1938 | 1939 | /*! ./VTab */ 1940 | 1941 | /*! ./VTabsItems */ 1942 | 1943 | /*! ./VTabItem */ 1944 | 1945 | /*! ./VTabsSlider */ 1946 | 1947 | /*!******************************************************!*\ 1948 | !*** ./src/components/VTabs/mixins/tabs-computed.js ***! 1949 | \******************************************************/ 1950 | 1951 | /*! exports provided: default */ 1952 | 1953 | /*!********************************************************!*\ 1954 | !*** ./src/components/VTabs/mixins/tabs-generators.js ***! 1955 | \********************************************************/ 1956 | 1957 | /*! exports provided: default */ 1958 | 1959 | /*! ../VTabsItems */ 1960 | 1961 | /*! ../VTabsSlider */ 1962 | 1963 | /*! ../../VIcon */ 1964 | 1965 | /*!***************************************************!*\ 1966 | !*** ./src/components/VTabs/mixins/tabs-props.js ***! 1967 | \***************************************************/ 1968 | 1969 | /*! exports provided: default */ 1970 | 1971 | /*!***************************************************!*\ 1972 | !*** ./src/components/VTabs/mixins/tabs-touch.js ***! 1973 | \***************************************************/ 1974 | 1975 | /*! exports provided: default */ 1976 | 1977 | /*!******************************************************!*\ 1978 | !*** ./src/components/VTabs/mixins/tabs-watchers.js ***! 1979 | \******************************************************/ 1980 | 1981 | /*! exports provided: default */ 1982 | 1983 | /*!*************************************************!*\ 1984 | !*** ./src/components/VTextField/VTextField.js ***! 1985 | \*************************************************/ 1986 | 1987 | /*! exports provided: default */ 1988 | 1989 | /*! ../../stylus/components/_text-fields.styl */ 1990 | 1991 | /*! ../VInput */ 1992 | 1993 | /*! ../VCounter */ 1994 | 1995 | /*! ../VLabel */ 1996 | 1997 | /*! ../../mixins/maskable */ 1998 | 1999 | /*! ../../mixins/loadable */ 2000 | 2001 | /*! ../../directives/ripple */ 2002 | 2003 | /*! ../../util/helpers */ 2004 | 2005 | /*! ../../util/console */ 2006 | 2007 | /*!********************************************!*\ 2008 | !*** ./src/components/VTextField/index.js ***! 2009 | \********************************************/ 2010 | 2011 | /*! exports provided: VTextField, default */ 2012 | 2013 | /*! ./VTextField */ 2014 | 2015 | /*! ../VTextarea/VTextarea */ 2016 | 2017 | /*! ../../util/rebuildFunctionalSlots */ 2018 | 2019 | /*! ../../util/dedupeModelListeners */ 2020 | 2021 | /*! ../../util/console */ 2022 | 2023 | /*!***********************************************!*\ 2024 | !*** ./src/components/VTextarea/VTextarea.js ***! 2025 | \***********************************************/ 2026 | 2027 | /*! exports provided: default */ 2028 | 2029 | /*! ../../stylus/components/_textarea.styl */ 2030 | 2031 | /*! ../VTextField/VTextField */ 2032 | 2033 | /*! ../../util/console */ 2034 | 2035 | /*!*******************************************!*\ 2036 | !*** ./src/components/VTextarea/index.js ***! 2037 | \*******************************************/ 2038 | 2039 | /*! exports provided: VTextarea, default */ 2040 | 2041 | /*! ./VTextarea */ 2042 | 2043 | /*!***************************************************!*\ 2044 | !*** ./src/components/VTimePicker/VTimePicker.js ***! 2045 | \***************************************************/ 2046 | 2047 | /*! exports provided: default */ 2048 | 2049 | /*! ./VTimePickerTitle */ 2050 | 2051 | /*! ./VTimePickerClock */ 2052 | 2053 | /*! ../../mixins/picker */ 2054 | 2055 | /*! ../../util/helpers */ 2056 | 2057 | /*! ../VDatePicker/util/pad */ 2058 | 2059 | /*!********************************************************!*\ 2060 | !*** ./src/components/VTimePicker/VTimePickerClock.js ***! 2061 | \********************************************************/ 2062 | 2063 | /*! exports provided: default */ 2064 | 2065 | /*! ../../stylus/components/_time-picker-clock.styl */ 2066 | 2067 | /*! ../../mixins/colorable */ 2068 | 2069 | /*! ../../mixins/themeable */ 2070 | 2071 | /*!********************************************************!*\ 2072 | !*** ./src/components/VTimePicker/VTimePickerTitle.js ***! 2073 | \********************************************************/ 2074 | 2075 | /*! exports provided: default */ 2076 | 2077 | /*! ../../stylus/components/_time-picker-title.styl */ 2078 | 2079 | /*! ../../mixins/picker-button */ 2080 | 2081 | /*! ../VDatePicker/util */ 2082 | 2083 | /*!*********************************************!*\ 2084 | !*** ./src/components/VTimePicker/index.js ***! 2085 | \*********************************************/ 2086 | 2087 | /*! exports provided: VTimePicker, VTimePickerClock, VTimePickerTitle, default */ 2088 | 2089 | /*! ./VTimePicker */ 2090 | 2091 | /*! ./VTimePickerClock */ 2092 | 2093 | /*! ./VTimePickerTitle */ 2094 | 2095 | /*!***********************************************!*\ 2096 | !*** ./src/components/VTimeline/VTimeline.ts ***! 2097 | \***********************************************/ 2098 | 2099 | /*! exports provided: default */ 2100 | 2101 | /*! ../../stylus/components/_timeline.styl */ 2102 | 2103 | /*! ../../util/mixins */ 2104 | 2105 | /*! ../../mixins/themeable */ 2106 | 2107 | /*!***************************************************!*\ 2108 | !*** ./src/components/VTimeline/VTimelineItem.ts ***! 2109 | \***************************************************/ 2110 | 2111 | /*! exports provided: default */ 2112 | 2113 | /*! ../../util/mixins */ 2114 | 2115 | /*! ../VIcon */ 2116 | 2117 | /*! ../../mixins/themeable */ 2118 | 2119 | /*! ../../mixins/colorable */ 2120 | 2121 | /*!*******************************************!*\ 2122 | !*** ./src/components/VTimeline/index.ts ***! 2123 | \*******************************************/ 2124 | 2125 | /*! exports provided: VTimeline, VTimelineItem, default */ 2126 | 2127 | /*! ./VTimeline */ 2128 | 2129 | /*! ./VTimelineItem */ 2130 | 2131 | /*!*********************************************!*\ 2132 | !*** ./src/components/VToolbar/VToolbar.js ***! 2133 | \*********************************************/ 2134 | 2135 | /*! exports provided: default */ 2136 | 2137 | /*! ../../stylus/components/_toolbar.styl */ 2138 | 2139 | /*! ../../mixins/applicationable */ 2140 | 2141 | /*! ../../mixins/colorable */ 2142 | 2143 | /*! ../../mixins/themeable */ 2144 | 2145 | /*! ../../mixins/ssr-bootable */ 2146 | 2147 | /*! ../../directives/scroll */ 2148 | 2149 | /*! ../../util/console */ 2150 | 2151 | /*!*****************************************************!*\ 2152 | !*** ./src/components/VToolbar/VToolbarSideIcon.js ***! 2153 | \*****************************************************/ 2154 | 2155 | /*! exports provided: default */ 2156 | 2157 | /*! ../../components/VBtn */ 2158 | 2159 | /*! ../../components/VIcon */ 2160 | 2161 | /*!******************************************!*\ 2162 | !*** ./src/components/VToolbar/index.js ***! 2163 | \******************************************/ 2164 | 2165 | /*! exports provided: VToolbar, VToolbarSideIcon, VToolbarTitle, VToolbarItems, default */ 2166 | 2167 | /*! ../../util/helpers */ 2168 | 2169 | /*! ./VToolbar */ 2170 | 2171 | /*! ./VToolbarSideIcon */ 2172 | 2173 | /*!*********************************************!*\ 2174 | !*** ./src/components/VTooltip/VTooltip.js ***! 2175 | \*********************************************/ 2176 | 2177 | /*! exports provided: default */ 2178 | 2179 | /*! ../../stylus/components/_tooltips.styl */ 2180 | 2181 | /*! ../../mixins/colorable */ 2182 | 2183 | /*! ../../mixins/delayable */ 2184 | 2185 | /*! ../../mixins/dependent */ 2186 | 2187 | /*! ../../mixins/detachable */ 2188 | 2189 | /*! ../../mixins/menuable */ 2190 | 2191 | /*! ../../mixins/toggleable */ 2192 | 2193 | /*! ../../util/helpers */ 2194 | 2195 | /*!******************************************!*\ 2196 | !*** ./src/components/VTooltip/index.js ***! 2197 | \******************************************/ 2198 | 2199 | /*! exports provided: VTooltip, default */ 2200 | 2201 | /*! ./VTooltip */ 2202 | 2203 | /*!***********************************************!*\ 2204 | !*** ./src/components/VTreeview/VTreeview.ts ***! 2205 | \***********************************************/ 2206 | 2207 | /*! exports provided: default */ 2208 | 2209 | /*! ../../stylus/components/_treeview.styl */ 2210 | 2211 | /*! ./VTreeviewNode */ 2212 | 2213 | /*! ../../mixins/themeable */ 2214 | 2215 | /*! ../../mixins/registrable */ 2216 | 2217 | /*! ../../util/helpers */ 2218 | 2219 | /*! ../../util/mixins */ 2220 | 2221 | /*! ../../util/console */ 2222 | 2223 | /*!***************************************************!*\ 2224 | !*** ./src/components/VTreeview/VTreeviewNode.ts ***! 2225 | \***************************************************/ 2226 | 2227 | /*! exports provided: VTreeviewNodeProps, default */ 2228 | 2229 | /*! ../transitions */ 2230 | 2231 | /*! ../VIcon */ 2232 | 2233 | /*! ./VTreeviewNode */ 2234 | 2235 | /*! ../../mixins/registrable */ 2236 | 2237 | /*! ../../util/mixins */ 2238 | 2239 | /*! ../../util/helpers */ 2240 | 2241 | /*!*******************************************!*\ 2242 | !*** ./src/components/VTreeview/index.ts ***! 2243 | \*******************************************/ 2244 | 2245 | /*! exports provided: VTreeview, VTreeviewNode, default */ 2246 | 2247 | /*! ./VTreeview */ 2248 | 2249 | /*! ./VTreeviewNode */ 2250 | 2251 | /*!*******************************************!*\ 2252 | !*** ./src/components/VWindow/VWindow.ts ***! 2253 | \*******************************************/ 2254 | 2255 | /*! exports provided: default */ 2256 | 2257 | /*! ../../stylus/components/_windows.styl */ 2258 | 2259 | /*! ../VItemGroup/VItemGroup */ 2260 | 2261 | /*! ../../directives/touch */ 2262 | 2263 | /*!***********************************************!*\ 2264 | !*** ./src/components/VWindow/VWindowItem.ts ***! 2265 | \***********************************************/ 2266 | 2267 | /*! exports provided: default */ 2268 | 2269 | /*! ../../mixins/bootable */ 2270 | 2271 | /*! ../../mixins/groupable */ 2272 | 2273 | /*! ../../directives/touch */ 2274 | 2275 | /*! ../../util/helpers */ 2276 | 2277 | /*! ../../util/mixins */ 2278 | 2279 | /*!*****************************************!*\ 2280 | !*** ./src/components/VWindow/index.ts ***! 2281 | \*****************************************/ 2282 | 2283 | /*! exports provided: VWindow, VWindowItem, default */ 2284 | 2285 | /*! ./VWindow */ 2286 | 2287 | /*! ./VWindowItem */ 2288 | 2289 | /*!*****************************************!*\ 2290 | !*** ./src/components/Vuetify/index.ts ***! 2291 | \*****************************************/ 2292 | 2293 | /*! exports provided: checkVueVersion, default */ 2294 | 2295 | /*! vue */ 2296 | 2297 | /*! ./mixins/application */ 2298 | 2299 | /*! ./mixins/breakpoint */ 2300 | 2301 | /*! ./mixins/theme */ 2302 | 2303 | /*! ./mixins/icons */ 2304 | 2305 | /*! ./mixins/options */ 2306 | 2307 | /*! ./mixins/lang */ 2308 | 2309 | /*! ./util/goTo */ 2310 | 2311 | /*! ../../util/console */ 2312 | 2313 | /*!******************************************************!*\ 2314 | !*** ./src/components/Vuetify/mixins/application.ts ***! 2315 | \******************************************************/ 2316 | 2317 | /*! exports provided: default */ 2318 | 2319 | /*!*****************************************************!*\ 2320 | !*** ./src/components/Vuetify/mixins/breakpoint.ts ***! 2321 | \*****************************************************/ 2322 | 2323 | /*! exports provided: default */ 2324 | 2325 | /*! vue */ 2326 | 2327 | /*!************************************************!*\ 2328 | !*** ./src/components/Vuetify/mixins/icons.js ***! 2329 | \************************************************/ 2330 | 2331 | /*! exports provided: default */ 2332 | 2333 | /*!***********************************************!*\ 2334 | !*** ./src/components/Vuetify/mixins/lang.ts ***! 2335 | \***********************************************/ 2336 | 2337 | /*! exports provided: default */ 2338 | 2339 | /*! ../../../locale/en */ 2340 | 2341 | /*! ../../../util/helpers */ 2342 | 2343 | /*! ../../../util/console */ 2344 | 2345 | /*!**************************************************!*\ 2346 | !*** ./src/components/Vuetify/mixins/options.js ***! 2347 | \**************************************************/ 2348 | 2349 | /*! exports provided: default */ 2350 | 2351 | /*!************************************************!*\ 2352 | !*** ./src/components/Vuetify/mixins/theme.ts ***! 2353 | \************************************************/ 2354 | 2355 | /*! exports provided: default */ 2356 | 2357 | /*!*********************************************!*\ 2358 | !*** ./src/components/Vuetify/util/goTo.js ***! 2359 | \*********************************************/ 2360 | 2361 | /*! exports provided: default */ 2362 | 2363 | /*! ../../../util/easing-patterns */ 2364 | 2365 | /*!*********************************!*\ 2366 | !*** ./src/components/index.ts ***! 2367 | \*********************************/ 2368 | 2369 | /*! exports provided: VApp, VAlert, VAutocomplete, VAvatar, VBadge, VBottomNav, VBottomSheet, VBreadcrumbs, VBreadcrumbsItem, VBreadcrumbsDivider, VBtn, VBtnToggle, VCard, VCardMedia, VCardTitle, VCardActions, VCardText, VCarousel, VCarouselItem, VCheckbox, VChip, VCombobox, VCounter, VDataIterator, VDataTable, VEditDialog, VTableOverflow, VDatePicker, VDatePickerTitle, VDatePickerHeader, VDatePickerDateTable, VDatePickerMonthTable, VDatePickerYears, VDialog, VDivider, VExpansionPanel, VExpansionPanelContent, VFooter, VForm, VContainer, VContent, VFlex, VLayout, VSpacer, VHover, VIcon, VImg, VInput, VItem, VItemGroup, VJumbotron, VLabel, VList, VListGroup, VListTile, VListTileAction, VListTileAvatar, VListTileActionText, VListTileContent, VListTileTitle, VListTileSubTitle, VMenu, VMessages, VNavigationDrawer, VOverflowBtn, VPagination, VParallax, VPicker, VProgressCircular, VProgressLinear, VRadioGroup, VRadio, VRangeSlider, VRating, VResponsive, VSelect, VSlider, VSnackbar, VSpeedDial, VStepper, VStepperContent, VStepperStep, VStepperHeader, VStepperItems, VSubheader, VSwitch, VSystemBar, VTabs, VTab, VTabItem, VTabsItems, VTabsSlider, VTextarea, VTextField, VTimeline, VTimelineItem, VTimePicker, VTimePickerClock, VTimePickerTitle, VToolbar, VToolbarSideIcon, VToolbarTitle, VToolbarItems, VTooltip, VTreeview, VTreeviewNode, VWindow, VWindowItem, VBottomSheetTransition, VCarouselTransition, VCarouselReverseTransition, VTabTransition, VTabReverseTransition, VMenuTransition, VFabTransition, VDialogTransition, VDialogBottomTransition, VFadeTransition, VScaleTransition, VScrollXTransition, VScrollXReverseTransition, VScrollYTransition, VScrollYReverseTransition, VSlideXTransition, VSlideXReverseTransition, VSlideYTransition, VSlideYReverseTransition, VExpandTransition, VRowExpandTransition */ 2370 | 2371 | /*! ./VApp */ 2372 | 2373 | /*! ./VAlert */ 2374 | 2375 | /*! ./VAutocomplete */ 2376 | 2377 | /*! ./VAvatar */ 2378 | 2379 | /*! ./VBadge */ 2380 | 2381 | /*! ./VBottomNav */ 2382 | 2383 | /*! ./VBottomSheet */ 2384 | 2385 | /*! ./VBreadcrumbs */ 2386 | 2387 | /*! ./VBtn */ 2388 | 2389 | /*! ./VBtnToggle */ 2390 | 2391 | /*! ./VCard */ 2392 | 2393 | /*! ./VCarousel */ 2394 | 2395 | /*! ./VCheckbox */ 2396 | 2397 | /*! ./VChip */ 2398 | 2399 | /*! ./VCombobox */ 2400 | 2401 | /*! ./VCounter */ 2402 | 2403 | /*! ./VDataIterator */ 2404 | 2405 | /*! ./VDataTable */ 2406 | 2407 | /*! ./VDatePicker */ 2408 | 2409 | /*! ./VDialog */ 2410 | 2411 | /*! ./VDivider */ 2412 | 2413 | /*! ./VExpansionPanel */ 2414 | 2415 | /*! ./VFooter */ 2416 | 2417 | /*! ./VForm */ 2418 | 2419 | /*! ./VGrid */ 2420 | 2421 | /*! ./VHover */ 2422 | 2423 | /*! ./VIcon */ 2424 | 2425 | /*! ./VImg */ 2426 | 2427 | /*! ./VInput */ 2428 | 2429 | /*! ./VItemGroup */ 2430 | 2431 | /*! ./VJumbotron */ 2432 | 2433 | /*! ./VLabel */ 2434 | 2435 | /*! ./VList */ 2436 | 2437 | /*! ./VMenu */ 2438 | 2439 | /*! ./VMessages */ 2440 | 2441 | /*! ./VNavigationDrawer */ 2442 | 2443 | /*! ./VOverflowBtn */ 2444 | 2445 | /*! ./VPagination */ 2446 | 2447 | /*! ./VParallax */ 2448 | 2449 | /*! ./VPicker */ 2450 | 2451 | /*! ./VProgressCircular */ 2452 | 2453 | /*! ./VProgressLinear */ 2454 | 2455 | /*! ./VRadioGroup */ 2456 | 2457 | /*! ./VRangeSlider */ 2458 | 2459 | /*! ./VRating */ 2460 | 2461 | /*! ./VResponsive */ 2462 | 2463 | /*! ./VSelect */ 2464 | 2465 | /*! ./VSlider */ 2466 | 2467 | /*! ./VSnackbar */ 2468 | 2469 | /*! ./VSpeedDial */ 2470 | 2471 | /*! ./VStepper */ 2472 | 2473 | /*! ./VSubheader */ 2474 | 2475 | /*! ./VSwitch */ 2476 | 2477 | /*! ./VSystemBar */ 2478 | 2479 | /*! ./VTabs */ 2480 | 2481 | /*! ./VTextarea */ 2482 | 2483 | /*! ./VTextField */ 2484 | 2485 | /*! ./VTimeline */ 2486 | 2487 | /*! ./VTimePicker */ 2488 | 2489 | /*! ./VToolbar */ 2490 | 2491 | /*! ./VTooltip */ 2492 | 2493 | /*! ./VTreeview */ 2494 | 2495 | /*! ./VWindow */ 2496 | 2497 | /*! ./transitions */ 2498 | 2499 | /*!*********************************************************!*\ 2500 | !*** ./src/components/transitions/expand-transition.js ***! 2501 | \*********************************************************/ 2502 | 2503 | /*! exports provided: default */ 2504 | 2505 | /*! ../../util/helpers */ 2506 | 2507 | /*!*********************************************!*\ 2508 | !*** ./src/components/transitions/index.js ***! 2509 | \*********************************************/ 2510 | 2511 | /*! exports provided: VBottomSheetTransition, VCarouselTransition, VCarouselReverseTransition, VTabTransition, VTabReverseTransition, VMenuTransition, VFabTransition, VDialogTransition, VDialogBottomTransition, VFadeTransition, VScaleTransition, VScrollXTransition, VScrollXReverseTransition, VScrollYTransition, VScrollYReverseTransition, VSlideXTransition, VSlideXReverseTransition, VSlideYTransition, VSlideYReverseTransition, VExpandTransition, VRowExpandTransition, default */ 2512 | 2513 | /*! ../../util/helpers */ 2514 | 2515 | /*! ./expand-transition */ 2516 | 2517 | /*!*****************************************!*\ 2518 | !*** ./src/directives/click-outside.ts ***! 2519 | \*****************************************/ 2520 | 2521 | /*! exports provided: default */ 2522 | 2523 | /*!*********************************!*\ 2524 | !*** ./src/directives/index.ts ***! 2525 | \*********************************/ 2526 | 2527 | /*! exports provided: ClickOutside, Ripple, Resize, Scroll, Touch, default */ 2528 | 2529 | /*! ./click-outside */ 2530 | 2531 | /*! ./resize */ 2532 | 2533 | /*! ./ripple */ 2534 | 2535 | /*! ./scroll */ 2536 | 2537 | /*! ./touch */ 2538 | 2539 | /*!**********************************!*\ 2540 | !*** ./src/directives/resize.ts ***! 2541 | \**********************************/ 2542 | 2543 | /*! exports provided: default */ 2544 | 2545 | /*!**********************************!*\ 2546 | !*** ./src/directives/ripple.ts ***! 2547 | \**********************************/ 2548 | 2549 | /*! exports provided: default */ 2550 | 2551 | /*!**********************************!*\ 2552 | !*** ./src/directives/scroll.ts ***! 2553 | \**********************************/ 2554 | 2555 | /*! exports provided: default */ 2556 | 2557 | /*!*********************************!*\ 2558 | !*** ./src/directives/touch.ts ***! 2559 | \*********************************/ 2560 | 2561 | /*! exports provided: default */ 2562 | 2563 | /*! ../util/helpers */ 2564 | 2565 | /*!**********************!*\ 2566 | !*** ./src/index.ts ***! 2567 | \**********************/ 2568 | 2569 | /*! exports provided: default */ 2570 | 2571 | /*! ./stylus/app.styl */ 2572 | 2573 | /*! ./components/Vuetify */ 2574 | 2575 | /*! ./components */ 2576 | 2577 | /*! ./directives */ 2578 | 2579 | /*!**************************!*\ 2580 | !*** ./src/locale/en.ts ***! 2581 | \**************************/ 2582 | 2583 | /*! exports provided: default */ 2584 | 2585 | /*!***************************************!*\ 2586 | !*** ./src/mixins/applicationable.ts ***! 2587 | \***************************************/ 2588 | 2589 | /*! exports provided: default */ 2590 | 2591 | /*! ./positionable */ 2592 | 2593 | /*! ../util/mixins */ 2594 | 2595 | /*!********************************!*\ 2596 | !*** ./src/mixins/bootable.ts ***! 2597 | \********************************/ 2598 | 2599 | /*! exports provided: default */ 2600 | 2601 | /*! vue */ 2602 | 2603 | /*!************************************!*\ 2604 | !*** ./src/mixins/button-group.ts ***! 2605 | \************************************/ 2606 | 2607 | /*! exports provided: default */ 2608 | 2609 | /*! ../components/VItemGroup/VItemGroup */ 2610 | 2611 | /*!*********************************!*\ 2612 | !*** ./src/mixins/colorable.ts ***! 2613 | \*********************************/ 2614 | 2615 | /*! exports provided: default */ 2616 | 2617 | /*! vue */ 2618 | 2619 | /*!**********************************!*\ 2620 | !*** ./src/mixins/comparable.ts ***! 2621 | \**********************************/ 2622 | 2623 | /*! exports provided: default */ 2624 | 2625 | /*! vue */ 2626 | 2627 | /*! ../util/helpers */ 2628 | 2629 | /*!*************************************!*\ 2630 | !*** ./src/mixins/data-iterable.js ***! 2631 | \*************************************/ 2632 | 2633 | /*! exports provided: default */ 2634 | 2635 | /*! ../components/VBtn */ 2636 | 2637 | /*! ../components/VIcon */ 2638 | 2639 | /*! ../components/VSelect */ 2640 | 2641 | /*! ./filterable */ 2642 | 2643 | /*! ./themeable */ 2644 | 2645 | /*! ./loadable */ 2646 | 2647 | /*! ../util/helpers */ 2648 | 2649 | /*! ../util/console */ 2650 | 2651 | /*!*********************************!*\ 2652 | !*** ./src/mixins/delayable.ts ***! 2653 | \*********************************/ 2654 | 2655 | /*! exports provided: default */ 2656 | 2657 | /*! vue */ 2658 | 2659 | /*!*********************************!*\ 2660 | !*** ./src/mixins/dependent.ts ***! 2661 | \*********************************/ 2662 | 2663 | /*! exports provided: default */ 2664 | 2665 | /*! ../util/mixins */ 2666 | 2667 | /*!**********************************!*\ 2668 | !*** ./src/mixins/detachable.js ***! 2669 | \**********************************/ 2670 | 2671 | /*! exports provided: default */ 2672 | 2673 | /*! ./bootable */ 2674 | 2675 | /*! ../util/console */ 2676 | 2677 | /*!**********************************!*\ 2678 | !*** ./src/mixins/filterable.ts ***! 2679 | \**********************************/ 2680 | 2681 | /*! exports provided: default */ 2682 | 2683 | /*! vue */ 2684 | 2685 | /*!*********************************!*\ 2686 | !*** ./src/mixins/groupable.ts ***! 2687 | \*********************************/ 2688 | 2689 | /*! exports provided: factory, default */ 2690 | 2691 | /*! ./registrable */ 2692 | 2693 | /*!********************************!*\ 2694 | !*** ./src/mixins/loadable.ts ***! 2695 | \********************************/ 2696 | 2697 | /*! exports provided: default */ 2698 | 2699 | /*! vue */ 2700 | 2701 | /*! ../components/VProgressLinear */ 2702 | 2703 | /*!********************************!*\ 2704 | !*** ./src/mixins/maskable.js ***! 2705 | \********************************/ 2706 | 2707 | /*! exports provided: default */ 2708 | 2709 | /*! ../util/mask */ 2710 | 2711 | /*!**********************************!*\ 2712 | !*** ./src/mixins/measurable.ts ***! 2713 | \**********************************/ 2714 | 2715 | /*! exports provided: default */ 2716 | 2717 | /*! vue */ 2718 | 2719 | /*!********************************!*\ 2720 | !*** ./src/mixins/menuable.js ***! 2721 | \********************************/ 2722 | 2723 | /*! exports provided: default */ 2724 | 2725 | /*! vue */ 2726 | 2727 | /*! ./positionable */ 2728 | 2729 | /*! ./stackable */ 2730 | 2731 | /*!***********************************!*\ 2732 | !*** ./src/mixins/overlayable.js ***! 2733 | \***********************************/ 2734 | 2735 | /*! exports provided: default */ 2736 | 2737 | /*! ../stylus/components/_overlay.styl */ 2738 | 2739 | /*! ../util/helpers */ 2740 | 2741 | /*!*************************************!*\ 2742 | !*** ./src/mixins/picker-button.js ***! 2743 | \*************************************/ 2744 | 2745 | /*! exports provided: default */ 2746 | 2747 | /*!******************************!*\ 2748 | !*** ./src/mixins/picker.js ***! 2749 | \******************************/ 2750 | 2751 | /*! exports provided: default */ 2752 | 2753 | /*! ../components/VPicker */ 2754 | 2755 | /*! ./colorable */ 2756 | 2757 | /*! ./themeable */ 2758 | 2759 | /*!************************************!*\ 2760 | !*** ./src/mixins/positionable.ts ***! 2761 | \************************************/ 2762 | 2763 | /*! exports provided: factory, default */ 2764 | 2765 | /*! vue */ 2766 | 2767 | /*! ../util/helpers */ 2768 | 2769 | /*!*********************************!*\ 2770 | !*** ./src/mixins/proxyable.ts ***! 2771 | \*********************************/ 2772 | 2773 | /*! exports provided: factory, default */ 2774 | 2775 | /*! vue */ 2776 | 2777 | /*!***********************************!*\ 2778 | !*** ./src/mixins/registrable.ts ***! 2779 | \***********************************/ 2780 | 2781 | /*! exports provided: inject, provide */ 2782 | 2783 | /*! vue */ 2784 | 2785 | /*! ../util/console */ 2786 | 2787 | /*!**********************************!*\ 2788 | !*** ./src/mixins/returnable.ts ***! 2789 | \**********************************/ 2790 | 2791 | /*! exports provided: default */ 2792 | 2793 | /*! vue */ 2794 | 2795 | /*!**********************************!*\ 2796 | !*** ./src/mixins/rippleable.ts ***! 2797 | \**********************************/ 2798 | 2799 | /*! exports provided: default */ 2800 | 2801 | /*! ../directives/ripple */ 2802 | 2803 | /*! vue */ 2804 | 2805 | /*!********************************!*\ 2806 | !*** ./src/mixins/routable.ts ***! 2807 | \********************************/ 2808 | 2809 | /*! exports provided: default */ 2810 | 2811 | /*! vue */ 2812 | 2813 | /*! ../directives/ripple */ 2814 | 2815 | /*!**********************************!*\ 2816 | !*** ./src/mixins/selectable.js ***! 2817 | \**********************************/ 2818 | 2819 | /*! exports provided: default */ 2820 | 2821 | /*! ../components/VInput */ 2822 | 2823 | /*! ./rippleable */ 2824 | 2825 | /*! ./comparable */ 2826 | 2827 | /*!********************************!*\ 2828 | !*** ./src/mixins/sizeable.ts ***! 2829 | \********************************/ 2830 | 2831 | /*! exports provided: default */ 2832 | 2833 | /*! vue */ 2834 | 2835 | /*!************************************!*\ 2836 | !*** ./src/mixins/ssr-bootable.ts ***! 2837 | \************************************/ 2838 | 2839 | /*! exports provided: default */ 2840 | 2841 | /*! vue */ 2842 | 2843 | /*!*********************************!*\ 2844 | !*** ./src/mixins/stackable.js ***! 2845 | \*********************************/ 2846 | 2847 | /*! exports provided: default */ 2848 | 2849 | /*! ../util/helpers */ 2850 | 2851 | /*!*********************************!*\ 2852 | !*** ./src/mixins/themeable.ts ***! 2853 | \*********************************/ 2854 | 2855 | /*! exports provided: functionalThemeClasses, default */ 2856 | 2857 | /*! vue */ 2858 | 2859 | /*!**********************************!*\ 2860 | !*** ./src/mixins/toggleable.ts ***! 2861 | \**********************************/ 2862 | 2863 | /*! exports provided: factory, default */ 2864 | 2865 | /*! vue */ 2866 | 2867 | /*!**************************************!*\ 2868 | !*** ./src/mixins/transitionable.ts ***! 2869 | \**************************************/ 2870 | 2871 | /*! exports provided: default */ 2872 | 2873 | /*! vue */ 2874 | 2875 | /*!************************************!*\ 2876 | !*** ./src/mixins/translatable.ts ***! 2877 | \************************************/ 2878 | 2879 | /*! exports provided: default */ 2880 | 2881 | /*! vue */ 2882 | 2883 | /*!***********************************!*\ 2884 | !*** ./src/mixins/validatable.js ***! 2885 | \***********************************/ 2886 | 2887 | /*! exports provided: default */ 2888 | 2889 | /*! ../util/helpers */ 2890 | 2891 | /*! ./registrable */ 2892 | 2893 | /*! ../util/console */ 2894 | 2895 | /*! ./colorable */ 2896 | 2897 | /*!*****************************!*\ 2898 | !*** ./src/stylus/app.styl ***! 2899 | \*****************************/ 2900 | 2901 | /*! no static exports found */ 2902 | 2903 | /*!********************************************!*\ 2904 | !*** ./src/stylus/components/_alerts.styl ***! 2905 | \********************************************/ 2906 | 2907 | /*! no static exports found */ 2908 | 2909 | /*!*****************************************!*\ 2910 | !*** ./src/stylus/components/_app.styl ***! 2911 | \*****************************************/ 2912 | 2913 | /*! no static exports found */ 2914 | 2915 | /*!***************************************************!*\ 2916 | !*** ./src/stylus/components/_autocompletes.styl ***! 2917 | \***************************************************/ 2918 | 2919 | /*! no static exports found */ 2920 | 2921 | /*!*********************************************!*\ 2922 | !*** ./src/stylus/components/_avatars.styl ***! 2923 | \*********************************************/ 2924 | 2925 | /*! no static exports found */ 2926 | 2927 | /*!********************************************!*\ 2928 | !*** ./src/stylus/components/_badges.styl ***! 2929 | \********************************************/ 2930 | 2931 | /*! no static exports found */ 2932 | 2933 | /*!*************************************************!*\ 2934 | !*** ./src/stylus/components/_bottom-navs.styl ***! 2935 | \*************************************************/ 2936 | 2937 | /*! no static exports found */ 2938 | 2939 | /*!***************************************************!*\ 2940 | !*** ./src/stylus/components/_bottom-sheets.styl ***! 2941 | \***************************************************/ 2942 | 2943 | /*! no static exports found */ 2944 | 2945 | /*!*************************************************!*\ 2946 | !*** ./src/stylus/components/_breadcrumbs.styl ***! 2947 | \*************************************************/ 2948 | 2949 | /*! no static exports found */ 2950 | 2951 | /*!***************************************************!*\ 2952 | !*** ./src/stylus/components/_button-toggle.styl ***! 2953 | \***************************************************/ 2954 | 2955 | /*! no static exports found */ 2956 | 2957 | /*!*********************************************!*\ 2958 | !*** ./src/stylus/components/_buttons.styl ***! 2959 | \*********************************************/ 2960 | 2961 | /*! no static exports found */ 2962 | 2963 | /*!*******************************************!*\ 2964 | !*** ./src/stylus/components/_cards.styl ***! 2965 | \*******************************************/ 2966 | 2967 | /*! no static exports found */ 2968 | 2969 | /*!**********************************************!*\ 2970 | !*** ./src/stylus/components/_carousel.styl ***! 2971 | \**********************************************/ 2972 | 2973 | /*! no static exports found */ 2974 | 2975 | /*!*******************************************!*\ 2976 | !*** ./src/stylus/components/_chips.styl ***! 2977 | \*******************************************/ 2978 | 2979 | /*! no static exports found */ 2980 | 2981 | /*!*********************************************!*\ 2982 | !*** ./src/stylus/components/_content.styl ***! 2983 | \*********************************************/ 2984 | 2985 | /*! no static exports found */ 2986 | 2987 | /*!**********************************************!*\ 2988 | !*** ./src/stylus/components/_counters.styl ***! 2989 | \**********************************************/ 2990 | 2991 | /*! no static exports found */ 2992 | 2993 | /*!***************************************************!*\ 2994 | !*** ./src/stylus/components/_data-iterator.styl ***! 2995 | \***************************************************/ 2996 | 2997 | /*! no static exports found */ 2998 | 2999 | /*!************************************************!*\ 3000 | !*** ./src/stylus/components/_data-table.styl ***! 3001 | \************************************************/ 3002 | 3003 | /*! no static exports found */ 3004 | 3005 | /*!********************************************************!*\ 3006 | !*** ./src/stylus/components/_date-picker-header.styl ***! 3007 | \********************************************************/ 3008 | 3009 | /*! no static exports found */ 3010 | 3011 | /*!*******************************************************!*\ 3012 | !*** ./src/stylus/components/_date-picker-table.styl ***! 3013 | \*******************************************************/ 3014 | 3015 | /*! no static exports found */ 3016 | 3017 | /*!*******************************************************!*\ 3018 | !*** ./src/stylus/components/_date-picker-title.styl ***! 3019 | \*******************************************************/ 3020 | 3021 | /*! no static exports found */ 3022 | 3023 | /*!*******************************************************!*\ 3024 | !*** ./src/stylus/components/_date-picker-years.styl ***! 3025 | \*******************************************************/ 3026 | 3027 | /*! no static exports found */ 3028 | 3029 | /*!*********************************************!*\ 3030 | !*** ./src/stylus/components/_dialogs.styl ***! 3031 | \*********************************************/ 3032 | 3033 | /*! no static exports found */ 3034 | 3035 | /*!**********************************************!*\ 3036 | !*** ./src/stylus/components/_dividers.styl ***! 3037 | \**********************************************/ 3038 | 3039 | /*! no static exports found */ 3040 | 3041 | /*!*****************************************************!*\ 3042 | !*** ./src/stylus/components/_expansion-panel.styl ***! 3043 | \*****************************************************/ 3044 | 3045 | /*! no static exports found */ 3046 | 3047 | /*!********************************************!*\ 3048 | !*** ./src/stylus/components/_footer.styl ***! 3049 | \********************************************/ 3050 | 3051 | /*! no static exports found */ 3052 | 3053 | /*!*******************************************!*\ 3054 | !*** ./src/stylus/components/_forms.styl ***! 3055 | \*******************************************/ 3056 | 3057 | /*! no static exports found */ 3058 | 3059 | /*!******************************************!*\ 3060 | !*** ./src/stylus/components/_grid.styl ***! 3061 | \******************************************/ 3062 | 3063 | /*! no static exports found */ 3064 | 3065 | /*!*******************************************!*\ 3066 | !*** ./src/stylus/components/_icons.styl ***! 3067 | \*******************************************/ 3068 | 3069 | /*! no static exports found */ 3070 | 3071 | /*!********************************************!*\ 3072 | !*** ./src/stylus/components/_images.styl ***! 3073 | \********************************************/ 3074 | 3075 | /*! no static exports found */ 3076 | 3077 | /*!********************************************!*\ 3078 | !*** ./src/stylus/components/_inputs.styl ***! 3079 | \********************************************/ 3080 | 3081 | /*! no static exports found */ 3082 | 3083 | /*!************************************************!*\ 3084 | !*** ./src/stylus/components/_item-group.styl ***! 3085 | \************************************************/ 3086 | 3087 | /*! no static exports found */ 3088 | 3089 | /*!************************************************!*\ 3090 | !*** ./src/stylus/components/_jumbotrons.styl ***! 3091 | \************************************************/ 3092 | 3093 | /*! no static exports found */ 3094 | 3095 | /*!********************************************!*\ 3096 | !*** ./src/stylus/components/_labels.styl ***! 3097 | \********************************************/ 3098 | 3099 | /*! no static exports found */ 3100 | 3101 | /*!*******************************************!*\ 3102 | !*** ./src/stylus/components/_lists.styl ***! 3103 | \*******************************************/ 3104 | 3105 | /*! no static exports found */ 3106 | 3107 | /*!*******************************************!*\ 3108 | !*** ./src/stylus/components/_menus.styl ***! 3109 | \*******************************************/ 3110 | 3111 | /*! no static exports found */ 3112 | 3113 | /*!**********************************************!*\ 3114 | !*** ./src/stylus/components/_messages.styl ***! 3115 | \**********************************************/ 3116 | 3117 | /*! no static exports found */ 3118 | 3119 | /*!*******************************************************!*\ 3120 | !*** ./src/stylus/components/_navigation-drawer.styl ***! 3121 | \*******************************************************/ 3122 | 3123 | /*! no static exports found */ 3124 | 3125 | /*!******************************************************!*\ 3126 | !*** ./src/stylus/components/_overflow-buttons.styl ***! 3127 | \******************************************************/ 3128 | 3129 | /*! no static exports found */ 3130 | 3131 | /*!*********************************************!*\ 3132 | !*** ./src/stylus/components/_overlay.styl ***! 3133 | \*********************************************/ 3134 | 3135 | /*! no static exports found */ 3136 | 3137 | /*!************************************************!*\ 3138 | !*** ./src/stylus/components/_pagination.styl ***! 3139 | \************************************************/ 3140 | 3141 | /*! no static exports found */ 3142 | 3143 | /*!**********************************************!*\ 3144 | !*** ./src/stylus/components/_parallax.styl ***! 3145 | \**********************************************/ 3146 | 3147 | /*! no static exports found */ 3148 | 3149 | /*!*********************************************!*\ 3150 | !*** ./src/stylus/components/_pickers.styl ***! 3151 | \*********************************************/ 3152 | 3153 | /*! no static exports found */ 3154 | 3155 | /*!*******************************************************!*\ 3156 | !*** ./src/stylus/components/_progress-circular.styl ***! 3157 | \*******************************************************/ 3158 | 3159 | /*! no static exports found */ 3160 | 3161 | /*!*****************************************************!*\ 3162 | !*** ./src/stylus/components/_progress-linear.styl ***! 3163 | \*****************************************************/ 3164 | 3165 | /*! no static exports found */ 3166 | 3167 | /*!*************************************************!*\ 3168 | !*** ./src/stylus/components/_radio-group.styl ***! 3169 | \*************************************************/ 3170 | 3171 | /*! no static exports found */ 3172 | 3173 | /*!********************************************!*\ 3174 | !*** ./src/stylus/components/_radios.styl ***! 3175 | \********************************************/ 3176 | 3177 | /*! no static exports found */ 3178 | 3179 | /*!***************************************************!*\ 3180 | !*** ./src/stylus/components/_range-sliders.styl ***! 3181 | \***************************************************/ 3182 | 3183 | /*! no static exports found */ 3184 | 3185 | /*!********************************************!*\ 3186 | !*** ./src/stylus/components/_rating.styl ***! 3187 | \********************************************/ 3188 | 3189 | /*! no static exports found */ 3190 | 3191 | /*!************************************************!*\ 3192 | !*** ./src/stylus/components/_responsive.styl ***! 3193 | \************************************************/ 3194 | 3195 | /*! no static exports found */ 3196 | 3197 | /*!********************************************!*\ 3198 | !*** ./src/stylus/components/_select.styl ***! 3199 | \********************************************/ 3200 | 3201 | /*! no static exports found */ 3202 | 3203 | /*!********************************************************!*\ 3204 | !*** ./src/stylus/components/_selection-controls.styl ***! 3205 | \********************************************************/ 3206 | 3207 | /*! no static exports found */ 3208 | 3209 | /*!*********************************************!*\ 3210 | !*** ./src/stylus/components/_sliders.styl ***! 3211 | \*********************************************/ 3212 | 3213 | /*! no static exports found */ 3214 | 3215 | /*!**************************************************!*\ 3216 | !*** ./src/stylus/components/_small-dialog.styl ***! 3217 | \**************************************************/ 3218 | 3219 | /*! no static exports found */ 3220 | 3221 | /*!***********************************************!*\ 3222 | !*** ./src/stylus/components/_snackbars.styl ***! 3223 | \***********************************************/ 3224 | 3225 | /*! no static exports found */ 3226 | 3227 | /*!************************************************!*\ 3228 | !*** ./src/stylus/components/_speed-dial.styl ***! 3229 | \************************************************/ 3230 | 3231 | /*! no static exports found */ 3232 | 3233 | /*!**********************************************!*\ 3234 | !*** ./src/stylus/components/_steppers.styl ***! 3235 | \**********************************************/ 3236 | 3237 | /*! no static exports found */ 3238 | 3239 | /*!************************************************!*\ 3240 | !*** ./src/stylus/components/_subheaders.styl ***! 3241 | \************************************************/ 3242 | 3243 | /*! no static exports found */ 3244 | 3245 | /*!********************************************!*\ 3246 | !*** ./src/stylus/components/_switch.styl ***! 3247 | \********************************************/ 3248 | 3249 | /*! no static exports found */ 3250 | 3251 | /*!*************************************************!*\ 3252 | !*** ./src/stylus/components/_system-bars.styl ***! 3253 | \*************************************************/ 3254 | 3255 | /*! no static exports found */ 3256 | 3257 | /*!********************************************!*\ 3258 | !*** ./src/stylus/components/_tables.styl ***! 3259 | \********************************************/ 3260 | 3261 | /*! no static exports found */ 3262 | 3263 | /*!******************************************!*\ 3264 | !*** ./src/stylus/components/_tabs.styl ***! 3265 | \******************************************/ 3266 | 3267 | /*! no static exports found */ 3268 | 3269 | /*!*************************************************!*\ 3270 | !*** ./src/stylus/components/_text-fields.styl ***! 3271 | \*************************************************/ 3272 | 3273 | /*! no static exports found */ 3274 | 3275 | /*!**********************************************!*\ 3276 | !*** ./src/stylus/components/_textarea.styl ***! 3277 | \**********************************************/ 3278 | 3279 | /*! no static exports found */ 3280 | 3281 | /*!*******************************************************!*\ 3282 | !*** ./src/stylus/components/_time-picker-clock.styl ***! 3283 | \*******************************************************/ 3284 | 3285 | /*! no static exports found */ 3286 | 3287 | /*!*******************************************************!*\ 3288 | !*** ./src/stylus/components/_time-picker-title.styl ***! 3289 | \*******************************************************/ 3290 | 3291 | /*! no static exports found */ 3292 | 3293 | /*!**********************************************!*\ 3294 | !*** ./src/stylus/components/_timeline.styl ***! 3295 | \**********************************************/ 3296 | 3297 | /*! no static exports found */ 3298 | 3299 | /*!*********************************************!*\ 3300 | !*** ./src/stylus/components/_toolbar.styl ***! 3301 | \*********************************************/ 3302 | 3303 | /*! no static exports found */ 3304 | 3305 | /*!**********************************************!*\ 3306 | !*** ./src/stylus/components/_tooltips.styl ***! 3307 | \**********************************************/ 3308 | 3309 | /*! no static exports found */ 3310 | 3311 | /*!**********************************************!*\ 3312 | !*** ./src/stylus/components/_treeview.styl ***! 3313 | \**********************************************/ 3314 | 3315 | /*! no static exports found */ 3316 | 3317 | /*!*********************************************!*\ 3318 | !*** ./src/stylus/components/_windows.styl ***! 3319 | \*********************************************/ 3320 | 3321 | /*! no static exports found */ 3322 | 3323 | /*!***********************************!*\ 3324 | !*** ./src/util/ThemeProvider.ts ***! 3325 | \***********************************/ 3326 | 3327 | /*! exports provided: default */ 3328 | 3329 | /*! ../mixins/themeable */ 3330 | 3331 | /*! ./mixins */ 3332 | 3333 | /*!*******************************************!*\ 3334 | !*** ./src/util/color/transformCIELAB.ts ***! 3335 | \*******************************************/ 3336 | 3337 | /*! exports provided: fromXYZ, toXYZ */ 3338 | 3339 | /*!*****************************************!*\ 3340 | !*** ./src/util/color/transformSRGB.ts ***! 3341 | \*****************************************/ 3342 | 3343 | /*! exports provided: fromXYZ, toXYZ */ 3344 | 3345 | /*!********************************!*\ 3346 | !*** ./src/util/colorUtils.ts ***! 3347 | \********************************/ 3348 | 3349 | /*! exports provided: colorToInt, intToHex, colorToHex */ 3350 | 3351 | /*! ./console */ 3352 | 3353 | /*!*****************************!*\ 3354 | !*** ./src/util/console.ts ***! 3355 | \*****************************/ 3356 | 3357 | /*! exports provided: consoleInfo, consoleWarn, consoleError, deprecate */ 3358 | 3359 | /*!******************************************!*\ 3360 | !*** ./src/util/dedupeModelListeners.ts ***! 3361 | \******************************************/ 3362 | 3363 | /*! exports provided: default */ 3364 | 3365 | /*!*************************************!*\ 3366 | !*** ./src/util/easing-patterns.js ***! 3367 | \*************************************/ 3368 | 3369 | /*! exports provided: linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint */ 3370 | 3371 | /*!*****************************!*\ 3372 | !*** ./src/util/helpers.ts ***! 3373 | \*****************************/ 3374 | 3375 | /*! exports provided: createSimpleFunctional, createSimpleTransition, createJavaScriptTransition, directiveConfig, addOnceEventListener, getNestedValue, deepEqual, getObjectValueByPath, getPropertyFromItem, createRange, getZIndex, escapeHTML, filterObjectOnKeys, filterChildren, convertToUnit, kebabCase, isObject, keyCodes, remapInternalIcon, keys, camelize */ 3376 | 3377 | /*!**************************!*\ 3378 | !*** ./src/util/mask.js ***! 3379 | \**************************/ 3380 | 3381 | /*! exports provided: defaultDelimiters, isMaskDelimiter, maskText, unmaskText */ 3382 | 3383 | /*!****************************!*\ 3384 | !*** ./src/util/mixins.ts ***! 3385 | \****************************/ 3386 | 3387 | /*! exports provided: default */ 3388 | 3389 | /*! vue */ 3390 | 3391 | /*!********************************************!*\ 3392 | !*** ./src/util/rebuildFunctionalSlots.js ***! 3393 | \********************************************/ 3394 | 3395 | /*! exports provided: default */ 3396 | 3397 | /*!***************************!*\ 3398 | !*** ./src/util/theme.ts ***! 3399 | \***************************/ 3400 | 3401 | /*! exports provided: parse, genStyles, genVariations */ 3402 | 3403 | /*! ./colorUtils */ 3404 | 3405 | /*! ./color/transformSRGB */ 3406 | 3407 | /*! ./color/transformCIELAB */ 3408 | 3409 | /*!******************************************************************************!*\ 3410 | !*** external {"commonjs":"vue","commonjs2":"vue","amd":"vue","root":"Vue"} ***! 3411 | \******************************************************************************/ 3412 | 3413 | /*! no static exports found */ 3414 | -------------------------------------------------------------------------------- /priv/_nuxt/d5e5fe1407bffb5b0da8.js: -------------------------------------------------------------------------------- 1 | !function(e){function t(t){for(var n,i,a=t[0],c=t[1],f=t[2],p=0,s=[];p1&&void 0!==arguments[1]&&arguments[1];return Array.prototype.concat.apply([],e.matched.map(function(e,n){return Object.keys(e.components).map(function(r){return t&&t.push(n),e.components[r]})}))}function I(e,t){return Array.prototype.concat.apply([],e.matched.map(function(e,n){return Object.keys(e.components).reduce(function(r,o){return e.components[o]?r.push(t(e.components[o],e.instances[o],e,o,n)):delete e.components[o],r},[])}))}function H(e){return Promise.all(I(e,function(){var e=i()(regeneratorRuntime.mark(function e(t,n,r,o){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t||t.options){e.next=4;break}return e.next=3,t();case 3:t=e.sent;case 4:return e.abrupt("return",r.components[o]=U(t));case 5:case"end":return e.stop()}},e,this)}));return function(t,n,r,o){return e.apply(this,arguments)}}()))}function Q(e){return z.apply(this,arguments)}function z(){return(z=i()(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H(t);case 2:return e.abrupt("return",y()({},t,{meta:q(t).map(function(e){return e.options.meta||{}})}));case 3:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}function J(e,t){return W.apply(this,arguments)}function W(){return(W=i()(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n.to?n.to:n.route,t.context||(t.context={isStatic:!0,isDev:!1,isHMR:!1,app:t,store:t.store,payload:n.payload,error:n.error,base:"./",env:{}},n.req&&(t.context.req=n.req),n.res&&(t.context.res=n.res),t.context.redirect=function(e,n,r){if(e){t.context._redirected=!0;var a=o()(n);if("number"==typeof e||"undefined"!==a&&"object"!==a||(r=n||{},n=e,a=o()(n),e=302),"object"===a&&(n=t.router.resolve(n).href),!/(^[.]{1,2}\/)|(^\/(?!\/))/.test(n))throw n=ee(n,r),window.location.replace(n),new Error("ERR_REDIRECT");t.context.next({path:n,query:r,status:e})}},t.context.nuxtState=window.__NUXT__),t.context.next=n.next,t.context._redirected=!1,t.context._errored=!1,t.context.isHMR=!!n.isHMR,!n.route){e.next=10;break}return e.next=9,Q(n.route);case 9:t.context.route=e.sent;case 10:if(t.context.params=t.context.route.params||{},t.context.query=t.context.route.query||{},!n.from){e.next=16;break}return e.next=15,Q(n.from);case 15:t.context.from=e.sent;case 16:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}function F(e,t){var n;return(n=2===e.length?new Promise(function(n){e(t,function(e,r){e&&t.error(e),n(r=r||{})})}):e(t))&&(n instanceof Promise||"function"==typeof n.then)||(n=Promise.resolve(n)),n}function K(e,t){var n=window.location.pathname;return"hash"===t?window.location.hash.replace(/^#\//,""):(e&&0===n.indexOf(e)&&(n=n.slice(e.length)),(n||"/")+window.location.search+window.location.hash)}function X(e,t){return function(e){for(var t=new Array(e.length),n=0;n1)return this.nuxtChildKey||X(this.$route.matched[0].path)(this.$route.params);var e=this.$route.matched[0]&&this.$route.matched[0].components.default;return e&&e.options&&e.options.key?"function"==typeof e.options.key?e.options.key(this.$route):e.options.key:this.$route.path}},components:{NuxtChild:S,NuxtError:D}},ne={name:"nuxt-loading",data:function(){return{percent:0,show:!1,canSuccess:!0,throttle:200,duration:5e3,height:"2px",color:"#fff",failedColor:"red"}},methods:{start:function(){var e=this;return this.canSuccess=!0,this._throttle&&clearTimeout(this._throttle),this._timer&&(clearInterval(this._timer),this._timer=null,this.percent=0),this._throttle=setTimeout(function(){e.show=!0,e._cut=1e4/Math.floor(e.duration),e._timer=setInterval(function(){e.increase(e._cut*Math.random()),e.percent>95&&e.finish()},100)},this.throttle),this},set:function(e){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(e),this},get:function(){return Math.floor(this.percent)},increase:function(e){return this.percent=this.percent+Math.floor(e),this},decrease:function(e){return this.percent=this.percent-Math.floor(e),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var e=this;return clearInterval(this._timer),this._timer=null,clearTimeout(this._throttle),this._throttle=null,setTimeout(function(){e.show=!1,s.default.nextTick(function(){setTimeout(function(){e.percent=0},200)})},500),this},fail:function(){return this.canSuccess=!1,this}}},re=(n(136),Object(A.a)(ne,function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"nuxt-progress",style:{width:this.percent+"%",height:this.height,"background-color":this.canSuccess?this.color:this.failedColor,opacity:this.show?1:0}})},[],!1,null,null,null));re.options.__file="nuxt-loading.vue";var oe=re.exports,ae=(n(138),n(140),n(22)),ie={middleware:["moduledoc"],props:{},data:function(){return{drawer:null}},head:function(){return{title:this.projectName}},computed:y()({},Object(ae.b)(["modules"]),Object(ae.c)(["projectName"])),methods:{changeSearchText:function(e){this.searchInput=e.target.value,this.$store.dispatch("changeSearchText",this.searchInput)},goToDocument:function(e){this.$router.push(e.module_name)},isMatchModule:function(e){return $nuxt.$route.path==="/"+e}}},se=(n(142),Object(A.a)(ie,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-app",{attrs:{id:"inspire"}},[n("v-navigation-drawer",{attrs:{fixed:"","mobile-break-point":"970",app:""},model:{value:e.drawer,callback:function(t){e.drawer=t},expression:"drawer"}},[n("v-card",[n("v-toolbar",{attrs:{color:"deep-purple",dark:""}},[n("v-toolbar-title",[e._v(e._s(e.projectName))]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-list",{attrs:{dense:""}},[e._l(e.modules,function(t){return[n("v-list-tile",{key:t.module_name,attrs:{ripple:""},on:{click:function(n){e.goToDocument(t)}}},[n("v-list-tile-content",[n("v-list-tile-title",{class:e.isMatchModule(t.module_name)?"primary--text":"",attrs:{"active-class":"highlighted"}},[n("span",[e._v(e._s(t.module_name))])])],1)],1)]})],2)],1)],1),e._v(" "),n("v-toolbar",{attrs:{color:"deep-purple",dark:"",fixed:"",app:""}},[n("v-toolbar-side-icon",{on:{click:function(t){t.stopPropagation(),e.drawer=!e.drawer}}}),e._v(" "),n("v-text-field",{staticClass:"mx-3",attrs:{"append-icon":"mic",clearable:"",flat:"",label:"Search","prepend-inner-icon":"search","solo-inverted":""},on:{keyup:e.changeSearchText}})],1),e._v(" "),n("v-content",[n("v-container",{attrs:{fluid:"","fill-height":""}},[n("v-slide-y-transition",[n("nuxt")],1)],1)],1),e._v(" "),n("v-footer",{attrs:{height:"auto",color:"deep-purple lighten-1",app:""}},[n("v-layout",{attrs:{"justify-center":"",row:"",wrap:""}},[n("v-flex",{attrs:{id:"bottom","deep-purple":"","py-2":"","text-xs-center":"","white--text":"",xs12:""}},[e._v("\n generated by\n "),n("strong",[n("a",{staticClass:"white--text",attrs:{target:"_brank",href:"https://github.com/shufo/ex_doc_refined"}},[e._v("ExDocRefined")])])])],1)],1)],1)},[],!1,null,null,null));se.options.__file="default.vue";var ue={_default:se.exports},ce={head:{title:"ex_doc_refined",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:"An Web based document viewer for elixir"}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"},{rel:"stylesheet",type:"text/css",href:"//fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons"}],style:[],script:[]},render:function(e,t){var n=e("nuxt-loading",{ref:"loading"}),r=e(this.layout||"nuxt"),o=e("div",{domProps:{id:"__layout"},key:this.layoutName},[r]),a=e("transition",{props:{name:"layout",mode:"out-in"}},[o]);return e("div",{domProps:{id:"__nuxt"}},[n,a])},data:function(){return{layout:null,layoutName:""}},beforeCreate:function(){s.default.util.defineReactive(this,"nuxt",this.$options.nuxt)},created:function(){s.default.prototype.$nuxt=this,"undefined"!=typeof window&&(window.$nuxt=this),this.error=this.nuxt.error},mounted:function(){this.$loading=this.$refs.loading},watch:{"nuxt.err":"errorChanged"},methods:{errorChanged:function(){this.nuxt.err&&this.$loading&&(this.$loading.fail&&this.$loading.fail(),this.$loading.finish&&this.$loading.finish())},setLayout:function(e){return e&&ue["_"+e]||(e="default"),this.layoutName=e,this.layout=ue["_"+e],this.layout},loadLayout:function(e){return e&&ue["_"+e]||(e="default"),Promise.resolve(ue["_"+e])}},components:{NuxtLoading:oe}};s.default.use(ae.a);var le=n(144),pe=le.keys(),de={},fe=pe.find(function(e){return e.includes("./index.")});if(fe&&(de=Ae(fe)),"function"!=typeof de){de.modules||(de.modules={});var he=!0,me=!1,ge=void 0;try{for(var ve,xe=pe[Symbol.iterator]();!(he=(ve=xe.next()).done);he=!0){var ke=ve.value,ye=ke.replace(/^\.\//,"").replace(/\.(js|mjs)$/,"");if("index"!==ye){var _e=ye.split(/\//);if(ye=_e[_e.length-1],["state","getters","actions","mutations"].includes(ye)){De(Me(de,_e,!0),ke,ye)}else{var we="index"===ye;we&&_e.pop();var be=Me(de,_e),Ce=Ae(ke);if(be[ye=_e.pop()]=be[ye]||{},we){var $e={};if(be[ye].appends){$e.appends=be[ye].appends;var Ee=!0,Re=!1,Se=void 0;try{for(var Te,je=be[ye].appends[Symbol.iterator]();!(Ee=(Te=je.next()).done);Ee=!0){var Oe=Te.value;$e[Oe]=be[ye][Oe]}}catch(e){Re=!0,Se=e}finally{try{Ee||null==je.return||je.return()}finally{if(Re)throw Se}}}be[ye]=Object.assign({},be[ye],Ce,$e),be[ye].namespaced=!0}else be[ye]=Object.assign({},Ce,be[ye]),be[ye].namespaced=!0}}}}catch(e){me=!0,ge=e}finally{try{he||null==xe.return||xe.return()}finally{if(me)throw ge}}}var Ne=de instanceof Function?de:function(){return new ae.a.Store(Object.assign({strict:!1},de,{state:de.state instanceof Function?de.state():{}}))};function Ae(e){var t=le(e),n=t.default||t;if(n.commit)throw new Error("[nuxt] store/"+e.replace("./","")+" should export a method which returns a Vuex instance.");if(n.state&&"function"!=typeof n.state)throw new Error("[nuxt] state should be a function in store/"+e.replace("./",""));return n}function Me(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(1===t.length)return n?e:e.modules;var r=t.shift();return e.modules[r]=e.modules[r]||{},e.modules[r].namespaced=!0,e.modules[r].modules=e.modules[r].modules||{},Me(e.modules[r],t,n)}function De(e,t,n){var r=le(t);e.appends=e.appends||[],e.appends.push(n),e[n]=r.default||r}var Pe=n(88),Le=n.n(Pe);s.default.use(Le.a,{});n(149);var Ue=n(89),qe=n.n(Ue),Ie=n(90),He=n.n(Ie),Qe=function(){function e(t,n){qe()(this,e),this.endpoint=t,this.context=n,this.handlers=[],this.socketQueue={},this.socketQueueId=0}return He()(e,[{key:"init",value:function(){this.ws=new WebSocket(this.endpoint),this.setWebsocketHandlers(),this.startHeartbeat(),this.context.store.dispatch("setSocket",this.ws)}},{key:"setWebsocketHandlers",value:function(){var e=this;this.ws.onopen=function(t){e.clearHandlers()},this.ws.onclose=function(){e.ws.close(),e.clearHandlers();var t=setInterval(function(){e.ws=new WebSocket(e.endpoint),e.setWebsocketHandlers()},3e3);e.handlers.push(t)},this.ws.onmessage=function(t){if("heartbeat"!=t.data){var n=void 0;try{n=JSON.parse(t.data)}catch(e){console.log("socket response parse error: "+e.data)}if(void 0!==n.modules&&(e.context.store.dispatch("addModules",n.modules),e.context.store.dispatch("setProjectName",n.project_name),e.getModuledoc()),void 0!==n.functions&&e.context.store.dispatch("setCurrentModuledoc",n),void 0!==n.cmd_id&&"function"==typeof e.socketQueue["i_"+n.cmd_id])return(0,e.socketQueue["i_"+n.cmd_id])(n.result),void delete e.socketQueue["i_"+n.cmd_id]}}}},{key:"send",value:function(e){this.ws.send(e)}},{key:"sendWithSync",value:function(e,t){this.socketQueueId++,"function"==typeof t&&(this.socketQueue["i_"+this.socketQueueId]=t);var n=JSON.stringify({cmd_id:this.socketQueueId,json_data:e});try{this.ws.send(n)}catch(e){console.log("Sending failed ... .disconnected failed")}}},{key:"clearHandlers",value:function(){this.handlers.forEach(function(e){clearInterval(e)})}},{key:"startHeartbeat",value:function(){var e=this;setInterval(function(){e.ws.readyState===e.ws.OPEN&&e.ws.send("heartbeat")},1e4)}},{key:"getModuledoc",value:function(){var e=this;if(this.context.store.getters.modules.find(function(t){return t.module_name==e.context.params.module_name})){var t=this.context.params.module_name.split("/").pop();this.context.store.dispatch("loadModuledoc",t)}else{var n=this.context.store.getters.projectName;this.context.store.dispatch("loadModuledoc",n)}}}]),e}(),ze=function(e,t){e.app.router.onReady(function(){var t=window.location.pathname.endsWith("/")?window.location.pathname.slice(0,-1):window.location.pathname;t=t.split("/").filter(function(e){return""!==e}).shift();var n=e.isDev?window.location.hostname+":5600":window.location.host,r=new Qe("ws://"+n+"/"+t+"/websocket",e);r.init(),s.default.prototype.$socketClient=r})};s.default.component(R.name,R),s.default.component(S.name,S),s.default.component(O.name,O),s.default.component(te.name,te),s.default.use(w.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var Je={name:"page",mode:"out-in",appear:!0,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"};function We(){return(We=i()(regeneratorRuntime.mark(function e(t){var n,r,o,a,i,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new b.a({mode:"history",base:"./",linkActiveClass:"nuxt-link-active",linkExactActiveClass:"nuxt-link-exact-active",scrollBehavior:$,routes:[{path:"/",component:C,name:"index"},{path:"/:module_name",component:C,name:"return_to_index"},{path:"/*/:module_name",component:C,name:"nested"}],fallback:!1});case 2:return n=e.sent,(r=Ne(t)).$router=n,o=y()({router:n,store:r,nuxt:{defaultTransition:Je,transitions:[Je],setTransitions:function(e){return Array.isArray(e)||(e=[e]),e=e.map(function(e){return e=e?"string"==typeof e?Object.assign({},Je,{name:e}):Object.assign({},Je,e):Je}),this.$options.nuxt.transitions=e,e},err:null,dateErr:null,error:function(e){e=e||null,o.context._errored=!!e,"string"==typeof e&&(e={statusCode:500,message:e});var n=this.nuxt||this.$options.nuxt;return n.dateErr=Date.now(),n.err=e,t&&(t.nuxt.error=e),e}}},ce),r.app=o,a=t?t.next:function(e){return o.router.push(e)},t?i=n.resolve(t.url).route:(u=K(n.options.base),i=n.resolve(u).route),e.next=11,J(o,{route:i,next:a,error:o.nuxt.error.bind(o),store:r,payload:t?t.payload:void 0,req:t?t.req:void 0,res:t?t.res:void 0,beforeRenderFns:t?t.beforeRenderFns:void 0});case 11:c=function(e,t){if(!e)throw new Error("inject(key, value) has no key provided");if(!t)throw new Error("inject(key, value) has no value provided");o[e="$"+e]=t,r[e]=o[e];var n="__nuxt_"+e+"_installed__";s.default[n]||(s.default[n]=!0,s.default.use(function(){s.default.prototype.hasOwnProperty(e)||Object.defineProperty(s.default.prototype,e,{get:function(){return this.$root.$options[e]}})}))},window.__NUXT__&&window.__NUXT__.state&&r.replaceState(window.__NUXT__.state),e.next=16;break;case 16:if("function"!=typeof ze){e.next=20;break}return e.next=20,ze(o.context,c);case 20:e.next=23;break;case 23:return e.abrupt("return",{app:o,router:n,store:r});case 24:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}var Fe,Ke,Xe=[],Be=window.__NUXT__||{};if(Object.assign(s.default.config,{silent:!0,performance:!1}),!s.default.config.$nuxt){var Ve=s.default.config.errorHandler;s.default.config.errorHandler=function(e,t,n){var r={statusCode:e.statusCode||e.name||"Whoops!",message:e.message||e.toString()},o=null;if("function"==typeof Ve){for(var a=arguments.length,i=new Array(a>3?a-3:0),u=3;u2?r-2:0),a=2;a1&&void 0!==arguments[1]&&arguments[1];return Array.prototype.concat.apply([],e.matched.map(function(e,n){return Object.keys(e.instances).map(function(r){return t&&t.push(n),e.instances[r]})}))}(e,t),o=q(e,t);r.forEach(function(e,t){if(e&&e.constructor._dataRefresh&&o[t]===e.constructor&&"function"==typeof e.constructor.options.data){var n=e.constructor.options.data.call(e);for(var r in n)s.default.set(e.$data,r,n[r])}}),at.call(n,e)})}function st(e){window.onNuxtReadyCbs.forEach(function(t){"function"==typeof t&&t(e)}),"function"==typeof window._onNuxtLoaded&&window._onNuxtLoaded(e),Ke.afterEach(function(t,n){s.default.nextTick(function(){return e.$nuxt.$emit("routeChanged",t,n)})})}function ut(){return(ut=i()(regeneratorRuntime.mark(function e(t){var n,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return Fe=t.app,Ke=t.router,t.store,e.next=5,Promise.all((u=void 0,u=K((a=Ke).options.base,a.options.mode),I(a.match(u),function(){var e=i()(regeneratorRuntime.mark(function e(t,n,r,o,a){var i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t||t.options){e.next=4;break}return e.next=3,t();case 3:t=e.sent;case 4:return i=et(U(t),Be.data?Be.data[a]:null),r.components[o]=i,e.abrupt("return",i);case 7:case"end":return e.stop()}},e,this)}));return function(t,n,r,o,a){return e.apply(this,arguments)}}())));case 5:if(n=e.sent,r=new s.default(Fe),o=function(){r.$mount("#__nuxt"),s.default.nextTick(function(){st(r)})},r.setTransitions=r.$options.nuxt.setTransitions.bind(r),n.length&&(r.setTransitions(Ge(n,Ke.currentRoute)),Xe=Ke.currentRoute.matched.map(function(e){return X(e.path)(Ke.currentRoute.params)})),r.$loading={},Be.error&&r.error(Be.error),Ke.beforeEach(Ye.bind(r)),Ke.beforeEach(nt.bind(r)),Ke.afterEach(ot),Ke.afterEach(it.bind(r)),!Be.serverRendered){e.next=19;break}return o(),e.abrupt("return");case 19:nt.call(r,Ke.currentRoute,Ke.currentRoute,function(e){if(!e)return ot(Ke.currentRoute,Ke.currentRoute),at.call(r,Ke.currentRoute),void o();Ke.push(e,function(){return o()},function(e){if(!e)return o();console.error(e)})});case 20:case"end":return e.stop()}var a,u},e,this)}))).apply(this,arguments)}s.default.config.$nuxt.$nuxt=!0,function(e){return We.apply(this,arguments)}().then(function(e){return ut.apply(this,arguments)}).catch(function(e){console.error("[nuxt] Error while initializing app",e)})},40:function(e,t,n){var r=n(128);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,n(26).default)("45b1ddea",r,!0,{sourceMap:!1})},41:function(e,t,n){var r=n(137);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,n(26).default)("fd547dac",r,!0,{sourceMap:!1})},42:function(e,t,n){var r=n(143);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,n(26).default)("2eb43ff6",r,!0,{sourceMap:!1})},91:function(e,t,n){e.exports=n(150)}},[[91,3,1,4]]]); -------------------------------------------------------------------------------- /priv/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shufo/ex_doc_refined/2048231847b34fcd8d952ff72c76925dba8989ab/priv/favicon.ico -------------------------------------------------------------------------------- /priv/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ex_doc_refined 5 | 6 | 7 |
Loading...
8 | 9 | 10 | -------------------------------------------------------------------------------- /src/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /src/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | browser: true, 5 | node: true 6 | }, 7 | parserOptions: { 8 | parser: 'babel-eslint' 9 | }, 10 | extends: ['plugin:vue/recommended', 'plugin:prettier/recommended'], 11 | // required to lint *.vue files 12 | plugins: ['vue', 'prettier'], 13 | // add your custom rules here 14 | rules: { 15 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 16 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE 81 | .idea 82 | -------------------------------------------------------------------------------- /src/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- 1 | # logger 2 | 3 | > My splendiferous Nuxt.js project 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | $ yarn install 10 | 11 | # serve with hot reload at localhost:3000 12 | $ yarn run dev 13 | 14 | # build for production and launch server 15 | $ yarn run build 16 | $ yarn start 17 | 18 | # generate static project 19 | $ yarn run generate 20 | ``` 21 | 22 | For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org). 23 | -------------------------------------------------------------------------------- /src/assets/README.md: -------------------------------------------------------------------------------- 1 | # ASSETS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). 8 | -------------------------------------------------------------------------------- /src/assets/css/highlight.scss: -------------------------------------------------------------------------------- 1 | code.makeup { 2 | display: block; 3 | overflow-x: auto; 4 | padding-top: 0.3em !important; 5 | padding-bottom: 0.3em !important; 6 | padding-right: 0.5em !important; 7 | padding-left: 0.5em !important; 8 | margin-bottom: 16px; 9 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 10 | font-size: 15px; 11 | font-weight: 300; 12 | white-space: pre-wrap; 13 | 14 | .unselectable { 15 | -webkit-touch-callout: none; 16 | -webkit-user-select: none; 17 | -khtml-user-select: none; 18 | -moz-user-select: none; 19 | -ms-user-select: none; 20 | user-select: none; 21 | } 22 | 23 | &:before { 24 | content: "" 25 | } 26 | } 27 | 28 | /* https://tmbb.github.io/makeup_demo/elixir.html#tango */ 29 | .makeup { 30 | .hll {background-color: #ffffcc} 31 | .bp {color: #3465a4; } /* :name_builtin_pseudo */ 32 | .c {color: #999999; } /* :comment */ 33 | .c1 {color: #999999; } /* :comment_single */ 34 | .ch {color: #999999; } /* :comment_hashbang */ 35 | .cm {color: #999999; } /* :comment_multiline */ 36 | .cp {color: #999999; } /* :comment_preproc */ 37 | .cpf {color: #999999; } /* :comment_preproc_file */ 38 | .cs {color: #999999; } /* :comment_special */ 39 | .dl {color: #4e9a06; } /* :string_delimiter */ 40 | .err {color: #a40000; border: #ef2929; } /* :error */ 41 | .fm {color: #000000; } /* :name_function_magic */ 42 | .g {color: #000000; } /* :generic */ 43 | .gd {color: #a40000; } /* :generic_deleted */ 44 | .ge {color: #000000; font-style: italic; } /* :generic_emph */ 45 | .gh {color: #000080; font-weight: bold; } /* :generic_heading */ 46 | .gi {color: #00A000; } /* :generic_inserted */ 47 | .go {color: #000000; font-style: italic; } /* :generic_output */ 48 | .gp {color: #999999; } /* :generic_prompt */ 49 | .gr {color: #ef2929; } /* :generic_error */ 50 | .gs {color: #000000; font-weight: bold; } /* :generic_strong */ 51 | .gt {color: #a40000; font-weight: bold; } /* :generic_traceback */ 52 | .gu {color: #800080; font-weight: bold; } /* :generic_subheading */ 53 | .il {color: #0000cf; font-weight: bold; } /* :number_integer_long */ 54 | .k {color: #204a87; } /* :keyword */ 55 | .kc {color: #204a87; } /* :keyword_constant */ 56 | .kd {color: #204a87; } /* :keyword_declaration */ 57 | .kn {color: #204a87; } /* :keyword_namespace */ 58 | .kp {color: #204a87; } /* :keyword_pseudo */ 59 | .kr {color: #204a87; } /* :keyword_reserved */ 60 | .kt {color: #204a87; } /* :keyword_type */ 61 | .l {color: #000000; } /* :literal */ 62 | .ld {color: #cc0000; } /* :literal_date */ 63 | .m {color: #2937ab; } /* :number */ 64 | .mb {color: #FF8C18; } /* :number_bin */ 65 | .mf {color: #FF8C18; } /* :number_float */ 66 | .mh {color: #FF8C18; } /* :number_hex */ 67 | .mi {color: #FF8C18; } /* :number_integer */ 68 | .mo {color: #FF8C18; } /* :number_oct */ 69 | .n {color: #000000; } /* :name */ 70 | .na {color: #c4a000; } /* :name_attribute */ 71 | .nb {color: #204a87; } /* :name_builtin */ 72 | .nc {color: #0000cf; } /* :name_class */ 73 | .nd {color: #5c35cc; font-weight: bold; } /* :name_decorator */ 74 | .ne {color: #cc0000; font-weight: bold; } /* :name_exception */ 75 | .nf {color: #f57900; } /* :name_function */ 76 | .ni {color: #ce5c00; } /* :name_entity */ 77 | .nl {color: #f57900; } /* :name_label */ 78 | .nn {color: #000000; } /* :name_namespace */ 79 | .no {color: #c17d11; } /* :name_constant */ 80 | .nt {color: #204a87; font-weight: bold; } /* :name_tag */ 81 | .nv {color: #000000; } /* :name_variable */ 82 | .nx {color: #000000; } /* :name_other */ 83 | .o {color: #ce5c00; } /* :operator */ 84 | .ow {color: #204a87; } /* :operator_word */ 85 | .p {color: #000000; } /* :punctuation */ 86 | .py {color: #000000; } /* :name_property */ 87 | .s {color: #98BE64; } /* :string */ 88 | .s1 {color: #4e9a06; } /* :string_single */ 89 | .s2 {color: #4e9a06; } /* :string_double */ 90 | .sa {color: #4e9a06; } /* :string_affix */ 91 | .sb {color: #4e9a06; } /* :string_backtick */ 92 | .sc {color: #4e9a06; } /* :string_char */ 93 | .sd {color: #8f5902; font-style: italic; } /* :string_doc */ 94 | .se {color: #204a87; } /* :string_escape */ 95 | .sh {color: #4e9a06; } /* :string_heredoc */ 96 | .si {color: #204a87; } /* :string_interpol */ 97 | .sr {color: #cc0000; } /* :string_regex */ 98 | .ss {color: #c17d11; } /* :string_symbol */ 99 | .sx {color: #4e9a06; } /* :string_other */ 100 | .sx {color: #4e9a06; } /* :string_sigil */ 101 | .vc {color: #000000; } /* :name_variable_class */ 102 | .vg {color: #000000; } /* :name_variable_global */ 103 | .vi {color: #000000; } /* :name_variable_instance */ 104 | .vm {color: #000000; } /* :name_variable_magic */ 105 | .x {color: #000000; } /* :other */ 106 | } 107 | 108 | .night-mode .makeup { 109 | color: #f8f8f2; 110 | margin-bottom: 16px; 111 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 112 | font-size: 15px; 113 | font-weight: 300; 114 | white-space: pre-wrap; 115 | background-color: rgb(45, 45, 45); 116 | 117 | .hll {background-color: #49483e} 118 | .bp {color: #f8f8f2; } /* :name_builtin_pseudo */ 119 | .c {color: #75715e; } /* :comment */ 120 | .c1 {color: #75715e; } /* :comment_single */ 121 | .ch {color: #75715e; } /* :comment_hashbang */ 122 | .cm {color: #75715e; } /* :comment_multiline */ 123 | .cp {color: #75715e; } /* :comment_preproc */ 124 | .cpf {color: #75715e; } /* :comment_preproc_file */ 125 | .cs {color: #75715e; } /* :comment_special */ 126 | .dl {color: #e6db74; } /* :string_delimiter */ 127 | .err {color: #960050; background-color: #1e0010; } /* :error */ 128 | .fm {color: #a6e22e; } /* :name_function_magic */ 129 | .gd {color: #f92672; } /* :generic_deleted */ 130 | .ge {font-style: italic; } /* :generic_emph */ 131 | .gi {color: #a6e22e; } /* :generic_inserted */ 132 | .gs {font-weight: bold; } /* :generic_strong */ 133 | .gu {color: #75715e; } /* :generic_subheading */ 134 | .gt {color: #f92672; font-weight: bold; } /* :generic_traceback */ 135 | .il {color: #ae81ff; } /* :number_integer_long */ 136 | .k {color: #66d9ef; } /* :keyword */ 137 | .kc {color: #66d9ef; } /* :keyword_constant */ 138 | .kd {color: #66d9ef; } /* :keyword_declaration */ 139 | .kn {color: #f92672; } /* :keyword_namespace */ 140 | .kp {color: #66d9ef; } /* :keyword_pseudo */ 141 | .kr {color: #66d9ef; } /* :keyword_reserved */ 142 | .kt {color: #66d9ef; } /* :keyword_type */ 143 | .l {color: #ae81ff; } /* :literal */ 144 | .ld {color: #ae81ff; } /* :literal_date */ 145 | .m {color: #ae81ff; } /* :number */ 146 | .mb {color: #ae81ff; } /* :number_bin */ 147 | .mf {color: #ae81ff; } /* :number_float */ 148 | .mh {color: #ae81ff; } /* :number_hex */ 149 | .mi {color: #ae81ff; } /* :number_integer */ 150 | .mo {color: #ae81ff; } /* :number_oct */ 151 | .n {color: #f8f8f2; } /* :name */ 152 | .na {color: #a6e22e; } /* :name_attribute */ 153 | .nb {color: #f8f8f2; } /* :name_builtin */ 154 | .nc {color: #a6e22e; } /* :name_class */ 155 | .nd {color: #a6e22e; } /* :name_decorator */ 156 | .ne {color: #a6e22e; } /* :name_exception */ 157 | .nf {color: #a6e22e; } /* :name_function */ 158 | .ni {color: #f8f8f2; } /* :name_entity */ 159 | .nl {color: #f8f8f2; } /* :name_label */ 160 | .nn {color: #f8f8f2; } /* :name_namespace */ 161 | .no {color: #66d9ef; } /* :name_constant */ 162 | .nt {color: #f92672; } /* :name_tag */ 163 | .nv {color: #f8f8f2; } /* :name_variable */ 164 | .nx {color: #a6e22e; } /* :name_other */ 165 | .o {color: #f92672; } /* :operator */ 166 | .ow {color: #f92672; } /* :operator_word */ 167 | .p {color: #f8f8f2; } /* :punctuation */ 168 | .py {color: #f8f8f2; } /* :name_property */ 169 | .s {color: #98BE64; } /* :string */ 170 | .s1 {color: #e6db74; } /* :string_single */ 171 | .s2 {color: #e6db74; } /* :string_double */ 172 | .sa {color: #e6db74; } /* :string_affix */ 173 | .sb {color: #e6db74; } /* :string_backtick */ 174 | .sc {color: #e6db74; } /* :string_char */ 175 | .sd {color: #e6db74; } /* :string_doc */ 176 | .se {color: #ae81ff; } /* :string_escape */ 177 | .sh {color: #e6db74; } /* :string_heredoc */ 178 | .si {color: #e6db74; } /* :string_interpol */ 179 | .sr {color: #e6db74; } /* :string_regex */ 180 | .ss {color: #e6db74; } /* :string_symbol */ 181 | .sx {color: #e6db74; } /* :string_other */ 182 | .sx {color: #e6db74; } /* :string_sigil */ 183 | .vc {color: #f8f8f2; } /* :name_variable_class */ 184 | .vg {color: #f8f8f2; } /* :name_variable_global */ 185 | .vi {color: #f8f8f2; } /* :name_variable_instance */ 186 | .vm {color: #f8f8f2; } /* :name_variable_magic */ 187 | } 188 | -------------------------------------------------------------------------------- /src/components/FunctionDoc.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 84 | -------------------------------------------------------------------------------- /src/components/Runner.vue: -------------------------------------------------------------------------------- 1 | 57 | 121 | -------------------------------------------------------------------------------- /src/layouts/default.vue: -------------------------------------------------------------------------------- 1 | 99 | 100 | 133 | 143 | -------------------------------------------------------------------------------- /src/middleware/moduledoc.js: -------------------------------------------------------------------------------- 1 | export default function({ store, params }) { 2 | store.dispatch('loadModuledoc', params.module_name) 3 | } 4 | -------------------------------------------------------------------------------- /src/nuxt.config.js: -------------------------------------------------------------------------------- 1 | const pkg = require('./package') 2 | 3 | module.exports = { 4 | mode: 'spa', 5 | 6 | dev: process.env.NODE_ENV !== 'production', 7 | server: { 8 | host: '0.0.0.0' 9 | }, 10 | 11 | /* 12 | ** Headers of the page 13 | */ 14 | head: { 15 | title: pkg.name, 16 | meta: [ 17 | { charset: 'utf-8' }, 18 | { name: 'viewport', content: 'width=device-width, initial-scale=1' }, 19 | { hid: 'description', name: 'description', content: pkg.description } 20 | ], 21 | link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }] 22 | }, 23 | 24 | /* 25 | ** Customize the progress-bar color 26 | */ 27 | loading: { color: '#fff' }, 28 | 29 | /* 30 | ** Global CSS 31 | */ 32 | css: ['@/assets/css/highlight.scss'], 33 | 34 | /* 35 | ** Plugins to load before mounting the App 36 | */ 37 | plugins: [ 38 | // '~/plugins/vue-highlight', 39 | { src: '~/plugins/websocket', ssr: false } 40 | ], 41 | 42 | /* 43 | ** Nuxt.js modules 44 | */ 45 | modules: ['@nuxtjs/vuetify'], 46 | /* 47 | ** Build configuration 48 | */ 49 | build: { 50 | /* 51 | ** You can extend webpack config here 52 | */ 53 | extend(config, ctx) { 54 | // Run ESLint on save 55 | if (ctx.isDev && ctx.isClient) { 56 | config.module.rules.push({ 57 | enforce: 'pre', 58 | test: /\.(js|vue)$/, 59 | loader: 'eslint-loader', 60 | exclude: /(node_modules)/ 61 | }) 62 | } 63 | } 64 | }, 65 | generate: { 66 | dir: '../priv', 67 | fallback: true 68 | }, 69 | router: { 70 | base: process.env.NODE_ENV === 'production' ? './' : undefined, 71 | extendRoutes(routes, resolve) { 72 | routes.push( 73 | { 74 | name: 'return_to_index', 75 | path: '/:module_name', 76 | component: resolve(__dirname, 'pages/index.vue') 77 | }, 78 | { 79 | name: 'nested', 80 | path: '/*/:module_name', 81 | component: resolve(__dirname, 'pages/index.vue') 82 | } 83 | ) 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ex_doc_refined", 3 | "version": "1.0.0", 4 | "description": "An Web based document viewer for elixir", 5 | "author": "shufo", 6 | "private": true, 7 | "scripts": { 8 | "dev": "cross-env NODE_ENV=development nuxt", 9 | "build": "cross-env NODE_ENV=production nuxt build", 10 | "start": "cross-env NODE_ENV=development nuxt start", 11 | "generate": "cross-env NODE_ENV=production nuxt generate", 12 | "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", 13 | "precommit": "npm run lint" 14 | }, 15 | "dependencies": { 16 | "@nuxtjs/vuetify": "^0.4.3", 17 | "nuxt": "^2.0.0" 18 | }, 19 | "devDependencies": { 20 | "babel-eslint": "^8.2.1", 21 | "cross-env": "^5.2.0", 22 | "eslint": "^5.0.1", 23 | "eslint-config-prettier": "^3.1.0", 24 | "eslint-loader": "^2.0.0", 25 | "eslint-plugin-prettier": "2.6.2", 26 | "eslint-plugin-vue": "^4.0.0", 27 | "node-sass": "^4.10.0", 28 | "nodemon": "^1.11.0", 29 | "prettier": "1.14.3", 30 | "sass-loader": "^7.1.0" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/pages/index.vue: -------------------------------------------------------------------------------- 1 | 161 | 162 | 213 | 218 | -------------------------------------------------------------------------------- /src/plugins/websocket.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | export class WebSocketClient { 4 | constructor(endpoint, context) { 5 | this.endpoint = endpoint 6 | this.context = context 7 | this.handlers = [] 8 | this.socketQueue = {} 9 | this.socketQueueId = 0 10 | } 11 | 12 | init() { 13 | this.ws = new WebSocket(this.endpoint) 14 | this.setWebsocketHandlers() 15 | this.startHeartbeat() 16 | this.context.store.dispatch('setSocket', this.ws) 17 | } 18 | 19 | setWebsocketHandlers() { 20 | this.ws.onopen = event => { 21 | this.clearHandlers() 22 | } 23 | 24 | this.ws.onclose = () => { 25 | this.ws.close() 26 | this.clearHandlers() 27 | let handle = setInterval(() => { 28 | this.ws = new WebSocket(this.endpoint) 29 | this.setWebsocketHandlers() 30 | }, 3000) 31 | this.handlers.push(handle) 32 | } 33 | 34 | this.ws.onmessage = event => { 35 | if (event.data == 'heartbeat') { 36 | return 37 | } 38 | 39 | let message = undefined 40 | 41 | try { 42 | message = JSON.parse(event.data) 43 | } catch (e) { 44 | console.log('socket response parse error: ' + e.data) 45 | } 46 | 47 | if (message.modules !== undefined) { 48 | this.context.store.dispatch('addModules', message.modules) 49 | this.context.store.dispatch('setProjectName', message.project_name) 50 | this.getModuledoc() 51 | } 52 | 53 | if (message.functions !== undefined) { 54 | this.context.store.dispatch('setCurrentModuledoc', message) 55 | } 56 | 57 | if ( 58 | typeof message.cmd_id !== 'undefined' && 59 | typeof this.socketQueue['i_' + message.cmd_id] === 'function' 60 | ) { 61 | let execFunc = this.socketQueue['i_' + message.cmd_id] 62 | execFunc(message.result) 63 | delete this.socketQueue['i_' + message.cmd_id] 64 | return 65 | } 66 | } 67 | } 68 | 69 | send(data) { 70 | this.ws.send(data) 71 | } 72 | 73 | sendWithSync(data, onReturnFunction) { 74 | this.socketQueueId++ 75 | if (typeof onReturnFunction === 'function') { 76 | this.socketQueue['i_' + this.socketQueueId] = onReturnFunction 77 | } 78 | const jsonData = JSON.stringify({ 79 | cmd_id: this.socketQueueId, 80 | json_data: data 81 | }) 82 | try { 83 | this.ws.send(jsonData) 84 | } catch (e) { 85 | console.log('Sending failed ... .disconnected failed') 86 | } 87 | } 88 | 89 | clearHandlers() { 90 | this.handlers.forEach(element => { 91 | clearInterval(element) 92 | }) 93 | } 94 | 95 | startHeartbeat() { 96 | setInterval(() => { 97 | if (this.ws.readyState === this.ws.OPEN) { 98 | this.ws.send('heartbeat') 99 | } 100 | }, 10000) 101 | } 102 | 103 | getModuledoc() { 104 | const moduleSpecified = this.context.store.getters.modules.find(module => { 105 | return module.module_name == this.context.params.module_name 106 | }) 107 | 108 | if (moduleSpecified) { 109 | let moduleName = this.context.params.module_name.split('/').pop() 110 | this.context.store.dispatch('loadModuledoc', moduleName) 111 | } else { 112 | let moduleName = this.context.store.getters.projectName 113 | this.context.store.dispatch('loadModuledoc', moduleName) 114 | } 115 | } 116 | } 117 | 118 | export default function(context, inject) { 119 | context.app.router.onReady(() => { 120 | let path = window.location.pathname.endsWith('/') 121 | ? window.location.pathname.slice(0, -1) 122 | : window.location.pathname 123 | path = path 124 | .split('/') 125 | .filter(segment => { 126 | return segment !== '' 127 | }) 128 | .shift() 129 | 130 | const transportPath = '/websocket' 131 | const host = context.isDev 132 | ? window.location.hostname + ':5600' 133 | : window.location.host 134 | const endpoint = 'ws://' + host + '/' + path + transportPath 135 | const client = new WebSocketClient(endpoint, context) 136 | 137 | client.init() 138 | 139 | Vue.prototype.$socketClient = client 140 | }) 141 | } 142 | -------------------------------------------------------------------------------- /src/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shufo/ex_doc_refined/2048231847b34fcd8d952ff72c76925dba8989ab/src/static/favicon.ico -------------------------------------------------------------------------------- /src/store/actions.js: -------------------------------------------------------------------------------- 1 | export default { 2 | changeSearchText({ commit }, text) { 3 | commit('CHANGE_SEARCH_TEXT', text) 4 | }, 5 | addModules({ commit }, modules) { 6 | commit('ADD_MODULES', modules) 7 | }, 8 | setProjectName({ commit }, projectName) { 9 | commit('SET_PROJECT_NAME', projectName) 10 | }, 11 | setSocket({ commit }, socket) { 12 | commit('SET_SOCKET', socket) 13 | }, 14 | loadModuledoc({ commit }, moduleName) { 15 | commit('LOAD_MODULEDOC', moduleName) 16 | }, 17 | setCurrentModuledoc({ commit }, docs) { 18 | commit('SET_CURRENT_MODULEDOC', docs) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/store/getters.js: -------------------------------------------------------------------------------- 1 | export default { 2 | searchText(state) { 3 | return state.searchText 4 | }, 5 | modules(state) { 6 | return state.modules 7 | }, 8 | docs(state) { 9 | return state.docs 10 | }, 11 | socket(state) { 12 | return state.socket 13 | }, 14 | projectName(state) { 15 | return state.projectName 16 | }, 17 | filteredFunctions(state) { 18 | return state.docs.functions.filter(func => { 19 | let isStructCall = 20 | func.role === 'function' && 21 | func.name === '__struct__' && 22 | func.arity === 1 23 | let containsSearchWord = func.name 24 | .toLowerCase() 25 | .includes(state.searchText.toLowerCase()) 26 | 27 | return !isStructCall && containsSearchWord 28 | }) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/store/mutations.js: -------------------------------------------------------------------------------- 1 | export default { 2 | CHANGE_SEARCH_TEXT(state, text) { 3 | state.searchText = text 4 | }, 5 | ADD_MODULES(state, modules) { 6 | modules = modules.map(mod => { 7 | let module_name = mod.module_name.replace(/^Elixir./, '') 8 | 9 | return { 10 | module_name: module_name, 11 | path: mod.path 12 | } 13 | }) 14 | state.modules = modules 15 | }, 16 | SET_PROJECT_NAME(state, projectName) { 17 | state.projectName = projectName 18 | }, 19 | SET_SOCKET(state, socket) { 20 | if (state.socket == null) { 21 | state.socket = socket 22 | } 23 | }, 24 | LOAD_MODULEDOC(state, module_name) { 25 | let mod = state.modules.find(mod => { 26 | return mod.module_name === module_name 27 | }) 28 | 29 | if (mod === undefined) { 30 | return 31 | } 32 | 33 | if (state.socket.readyState === state.socket.OPEN) { 34 | state.socket.send(JSON.stringify({ module_path: mod.path })) 35 | } 36 | }, 37 | SET_CURRENT_MODULEDOC(state, docs) { 38 | state.docs = docs 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/store/state.js: -------------------------------------------------------------------------------- 1 | export default () => ({ 2 | searchText: '', 3 | projectName: '', 4 | modules: [], 5 | socket: null, 6 | docs: { 7 | functions: [], 8 | module_doc: '', 9 | module_name: '' 10 | } 11 | }) 12 | -------------------------------------------------------------------------------- /test/ex_doc_refined_test.exs: -------------------------------------------------------------------------------- 1 | defmodule ExDocRefinedTest do 2 | use ExUnit.Case 3 | doctest ExDocRefined 4 | 5 | test "greets the world" do 6 | assert ExDocRefined.hello() == :world 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | --------------------------------------------------------------------------------