@@ -5,6 +5,7 @@ Represent IPv4 address including prefix notation
55 import BitHex from ' ./BitHex.svelte' ;
66 import IPv4Prefix from ' ./IPv4Prefix.svelte' ;
77 import InputNumberLocaled from ' ../parts/InputNumberLocaled.svelte' ;
8+ import IPv4Input from ' ../parts/IPv4Input.svelte' ;
89 import { assemble , disassemble , calcHosts } from ' @lib/ipv4' ;
910
1011 const min = 0 ;
@@ -14,6 +15,7 @@ Represent IPv4 address including prefix notation
1415
1516<script lang =" ts" >
1617 export let address = 0xc0a80000 ;
18+ export let renderedAddress = ' placeholder' ;
1719 export let prefix = 16 ;
1820
1921 // break down into 4 octets
@@ -29,10 +31,14 @@ Represent IPv4 address including prefix notation
2931 };
3032
3133 $ : addresses = calcHosts (prefix ) + 2 ;
34+
35+ let showingWholeInput = false ;
3236 </script >
3337
38+ <IPv4Input bind:address bind:prefix {renderedAddress } bind:show ={showingWholeInput } />
39+
3440<!-- for xs only -->
35- <div class =" sm:hidden items-end mb-2 flex" >
41+ <div class ="sm:hidden items-end mb-2 flex" class:invisible ={ showingWholeInput } >
3642 <div class =" grow" />
3743 <div class =" flex text-2xl lt-xs:text-lg mr-2 items-center" >
3844 <div >
@@ -70,7 +76,7 @@ Represent IPv4 address including prefix notation
7076<div class =" flex lt-sm:overflow-x-auto px-2 mx--2" >
7177 <div class =" grow" />
7278 <div >
73- <div class =" flex lt-sm:hidden" >
79+ <div class ="flex lt-sm:hidden" class:invisible ={ showingWholeInput } >
7480 {#each octets as octet , idx }
7581 <div class =" flex-1 flex group text-2xl mb-2 relative" >
7682 <!-- adding max-w-[[n]rem] for Firefox -->
@@ -114,7 +120,7 @@ Represent IPv4 address including prefix notation
114120 <div class =" grow" />
115121 </div >
116122 <div class =" flex flex-col lt-sm:hidden" >
117- <div class =" lt-sm:hidden mb-2" >
123+ <div class ="lt-sm:hidden mb-2" class:invisible ={ showingWholeInput } >
118124 <InputNumberLocaled
119125 min ={0 }
120126 max ={31 }
0 commit comments