formatic 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascript/declarations/date.d.ts +9 -0
- data/app/assets/javascript/declarations/file.d.ts +14 -0
- data/app/assets/javascript/declarations/select.d.ts +15 -0
- data/app/assets/javascript/declarations/setup.d.ts +3 -0
- data/app/assets/javascript/declarations/stepper.d.ts +12 -0
- data/app/assets/javascript/declarations/string.d.ts +14 -0
- data/app/assets/javascript/declarations/textarea.d.ts +15 -0
- data/app/assets/javascript/declarations/toggle.d.ts +8 -0
- data/app/assets/javascript/formatic/date.js +30 -0
- data/app/assets/javascript/formatic/date.js.map +1 -0
- data/app/assets/javascript/formatic/file.js +83 -0
- data/app/assets/javascript/formatic/file.js.map +1 -0
- data/app/assets/javascript/formatic/select.js +81 -0
- data/app/assets/javascript/formatic/select.js.map +1 -0
- data/app/assets/javascript/formatic/setup.js +42 -0
- data/app/assets/javascript/formatic/setup.js.map +1 -0
- data/app/assets/javascript/formatic/stepper.js +67 -0
- data/app/assets/javascript/formatic/stepper.js.map +1 -0
- data/app/assets/javascript/formatic/string.js +71 -0
- data/app/assets/javascript/formatic/string.js.map +1 -0
- data/app/assets/javascript/formatic/textarea.js +81 -0
- data/app/assets/javascript/formatic/textarea.js.map +1 -0
- data/app/assets/javascript/formatic/toggle.js +63 -0
- data/app/assets/javascript/formatic/toggle.js.map +1 -0
- data/app/assets/javascript/src/date.ts +41 -0
- data/app/assets/javascript/src/file.ts +101 -0
- data/app/assets/javascript/src/select.ts +101 -0
- data/app/assets/javascript/src/setup.js +44 -0
- data/app/assets/javascript/src/stepper.ts +80 -0
- data/app/assets/javascript/src/string.ts +89 -0
- data/app/assets/javascript/src/textarea.ts +101 -0
- data/app/assets/javascript/src/toggle.ts +76 -0
- data/app/assets/stylesheets/formatic/components/checklist.css +1 -0
- data/app/assets/stylesheets/formatic/components/checklist.css.map +1 -0
- data/app/assets/stylesheets/formatic/components/date.css +17 -0
- data/app/assets/stylesheets/formatic/components/date.sass +2 -2
- data/app/assets/stylesheets/formatic/components/select.css +17 -0
- data/app/assets/stylesheets/formatic/components/stepper.css +17 -0
- data/app/assets/stylesheets/formatic/components/string.css +17 -0
- data/app/assets/stylesheets/formatic/components/textarea.css +17 -0
- data/app/assets/stylesheets/formatic/components/time.css +17 -0
- data/app/assets/stylesheets/formatic/components/toggle.css +17 -0
- data/app/assets/stylesheets/formatic/components/wrapper.css +17 -0
- data/app/assets/stylesheets/formatic/formatic.css +450 -0
- data/app/assets/stylesheets/formatic/formatic.css.map +1 -0
- data/app/assets/stylesheets/formatic/generics/flip.css +1 -0
- data/app/assets/stylesheets/formatic/generics/flip.css.map +1 -0
- data/app/assets/stylesheets/formatic/scopes/form.css +17 -0
- data/app/assets/stylesheets/formatic/utilities/container.css +1 -0
- data/app/assets/stylesheets/formatic/utilities/container.css.map +1 -0
- data/app/assets/stylesheets/formatic/vendor.css +1107 -0
- data/app/assets/stylesheets/formatic/vendor.css.map +1 -0
- data/app/assets/stylesheets/formatic.css +18 -0
- data/app/assets/stylesheets/formatic.sass +17 -0
- data/app/assets/stylesheets/vendor.css +5 -0
- data/app/assets/stylesheets/vendor.css.map +1 -0
- data/app/assets/stylesheets/vendor.sass +1 -0
- data/app/components/formatic/base.rb +4 -1
- data/app/components/formatic/date.rb +1 -1
- data/app/components/formatic/file.rb +21 -0
- data/app/components/formatic/files.rb +8 -0
- data/app/components/formatic/select.rb +1 -1
- data/app/components/formatic/time.rb +3 -3
- data/config/importmap.rb +11 -0
- data/lib/formatic/choices/options.rb +1 -1
- data/lib/formatic/choices/records.rb +1 -1
- data/lib/formatic/engine.rb +12 -0
- data/lib/formatic/version.rb +1 -1
- data/lib/formatic/wrappers/required.rb +1 -1
- data/lib/formatic.rb +2 -1
- metadata +77 -17
- data/app/assets/javascript/formatic/components/date.ts +0 -54
- data/app/assets/javascript/formatic/components/select.ts +0 -113
- data/app/assets/javascript/formatic/components/stepper.ts +0 -89
- data/app/assets/javascript/formatic/components/string.ts +0 -103
- data/app/assets/javascript/formatic/components/textarea.ts +0 -112
- data/app/assets/javascript/formatic/components/toggle.ts +0 -89
- data/app/assets/javascript/formatic.js +0 -446
- data/app/assets/javascript/formatic.js.map +0 -1
- data/app/assets/stylesheets/formatic/index.sass +0 -17
- data/app/assets/stylesheets/formatic/package.json +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../../node_modules/filepond/dist/filepond.css"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;AACA;AACI;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AAEA;EACA;AAEA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;;;AAEJ;AACA;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;AACA;EACI;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;AAEA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;AACI;;;AAEJ;EACI;EACA;;;AAEJ;AACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;AACA;AACI;EACA;AAEA;EACA;AAEA;EACA;EACA;EACA;AAEA;AACA;AACA;AACA;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;;;AAEJ;EACI;;;AAEJ;AACI;;;AAEJ;EACI;EACA;AAEA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;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","file":"vendor.css"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* Error: Can't find stylesheet to import.
|
|
2
|
+
* ,
|
|
3
|
+
* 3 | @use "formatic/settings/colors"
|
|
4
|
+
* | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
5
|
+
* '
|
|
6
|
+
* ../../2-Areas/formatic/formatic/app/assets/stylesheets/formatic/components/wrapper.sass 3:1 @use
|
|
7
|
+
* ../../2-Areas/formatic/formatic/app/assets/stylesheets/formatic.sass 5:1 root stylesheet */
|
|
8
|
+
|
|
9
|
+
body::before {
|
|
10
|
+
font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",
|
|
11
|
+
"Droid Sans Mono", monospace, monospace;
|
|
12
|
+
white-space: pre;
|
|
13
|
+
display: block;
|
|
14
|
+
padding: 1em;
|
|
15
|
+
margin-bottom: 1em;
|
|
16
|
+
border-bottom: 2px solid black;
|
|
17
|
+
content: "Error: Can't find stylesheet to import.\a \2577 \a 3 \2502 @use \"formatic/settings/colors\"\a \2502 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\a \2575 \a ../../2-Areas/formatic/formatic/app/assets/stylesheets/formatic/components/wrapper.sass 3:1 @use\a ../../2-Areas/formatic/formatic/app/assets/stylesheets/formatic.sass 5:1 root stylesheet";
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// ITCSS
|
|
2
|
+
|
|
3
|
+
@use "formatic/generics/flip.sass"
|
|
4
|
+
|
|
5
|
+
@use "formatic/components/wrapper.sass" // Wrapper comes first, rest alphabetically
|
|
6
|
+
@use "formatic/components/checklist.sass"
|
|
7
|
+
@use "formatic/components/date.sass"
|
|
8
|
+
@use "formatic/components/select.sass"
|
|
9
|
+
@use "formatic/components/stepper.sass"
|
|
10
|
+
@use "formatic/components/string.sass"
|
|
11
|
+
@use "formatic/components/textarea.sass"
|
|
12
|
+
@use "formatic/components/time.sass"
|
|
13
|
+
@use "formatic/components/toggle.sass"
|
|
14
|
+
|
|
15
|
+
@use "formatic/utilities/container"
|
|
16
|
+
|
|
17
|
+
@use "formatic/scopes/form"
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* FilePond 4.32.10
|
|
3
|
+
* Licensed under MIT, https://opensource.org/licenses/MIT/
|
|
4
|
+
* Please visit https://pqina.nl/filepond/ for details.
|
|
5
|
+
*/.filepond--assistant{position:absolute;overflow:hidden;height:1px;width:1px;padding:0;border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.filepond--browser.filepond--browser{position:absolute;margin:0;padding:0;left:1em;top:1.75em;width:calc(100% - 2em);opacity:0;font-size:0}.filepond--data{position:absolute;width:0;height:0;padding:0;margin:0;border:none;visibility:hidden;pointer-events:none;contain:strict}.filepond--drip{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;opacity:.1;pointer-events:none;border-radius:.5em;background:rgba(0, 0, 0, 0.01)}.filepond--drip-blob{position:absolute;-webkit-transform-origin:center center;transform-origin:center center;top:0;left:0;width:8em;height:8em;margin-left:-4em;margin-top:-4em;background:#292625;border-radius:50%;will-change:transform,opacity}.filepond--drop-label{position:absolute;left:0;right:0;top:0;margin:0;color:#4f4f4f;display:flex;justify-content:center;align-items:center;height:0px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:transform,opacity}.filepond--drop-label.filepond--drop-label label{display:block;margin:0;padding:.5em}.filepond--drop-label label{cursor:default;font-size:.875em;font-weight:normal;text-align:center;line-height:1.5}.filepond--label-action{text-decoration:underline;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;-webkit-text-decoration-color:#a7a4a4;text-decoration-color:#a7a4a4;cursor:pointer}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{font-size:1em;width:1.625em;height:1.625em;font-family:inherit;line-height:inherit;margin:0;padding:0;border:none;outline:none;will-change:transform,opacity}.filepond--file-action-button.filepond--file-action-button span{position:absolute;overflow:hidden;height:1px;width:1px;padding:0;border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.filepond--file-action-button.filepond--file-action-button svg{width:100%;height:100%}.filepond--file-action-button.filepond--file-action-button::after{position:absolute;left:-0.75em;right:-0.75em;top:-0.75em;bottom:-0.75em;content:""}.filepond--file-action-button{cursor:auto;color:#fff;border-radius:50%;background-color:rgba(0, 0, 0, 0.5);background-image:none;box-shadow:0 0 0 0 rgba(255, 255, 255, 0);transition:box-shadow .25s ease-in}.filepond--file-action-button:hover,.filepond--file-action-button:focus{box-shadow:0 0 0 .125em rgba(255, 255, 255, 0.9)}.filepond--file-action-button[disabled]{color:rgba(255, 255, 255, 0.5);background-color:rgba(0, 0, 0, 0.25)}.filepond--file-action-button[hidden]{display:none}.filepond--action-edit-item.filepond--action-edit-item{width:2em;height:2em;padding:.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-0.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-0.1875em}.filepond--action-edit-item-alt{border:none;line-height:inherit;background:transparent;font-family:inherit;color:inherit;outline:none;padding:0;margin:0 0 0 .25em;pointer-events:all;position:absolute}.filepond--action-edit-item-alt svg{width:1.3125em;height:1.3125em}.filepond--action-edit-item-alt span{font-size:0;opacity:0}.filepond--file-info{position:static;display:flex;flex-direction:column;align-items:flex-start;flex:1;margin:0 .5em 0 0;min-width:0;will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{font-size:.75em;line-height:1.2;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%}.filepond--file-info .filepond--file-info-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out;white-space:nowrap}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{position:static;display:flex;flex-direction:column;align-items:flex-end;flex-grow:0;flex-shrink:0;margin:0;min-width:2.25em;text-align:right;will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.filepond--file-status *{margin:0;white-space:nowrap}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;margin:0;padding:0;min-width:0;height:100%}.filepond--file-wrapper.filepond--file-wrapper>legend{position:absolute;overflow:hidden;height:1px;width:1px;padding:0;border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.filepond--file{position:static;display:flex;height:100%;align-items:flex-start;padding:.5625em .5625em;color:#fff;border-radius:.5em}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator,.filepond--file .filepond--file-action-button{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state=cancelled] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state*=error] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{-webkit-animation:fall .5s .125s linear both;animation:fall .5s .125s linear both}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--file-info-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=invalid] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=error] .filepond--file-wrapper{-webkit-animation:shake .65s linear both;animation:shake .65s linear both}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotateZ(0deg);transform:rotateZ(0deg)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes spin{0%{-webkit-transform:rotateZ(0deg);transform:rotateZ(0deg)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@-webkit-keyframes shake{10%,90%{-webkit-transform:translateX(-0.0625em);transform:translateX(-0.0625em)}20%,80%{-webkit-transform:translateX(0.125em);transform:translateX(0.125em)}30%,50%,70%{-webkit-transform:translateX(-0.25em);transform:translateX(-0.25em)}40%,60%{-webkit-transform:translateX(0.25em);transform:translateX(0.25em)}}@keyframes shake{10%,90%{-webkit-transform:translateX(-0.0625em);transform:translateX(-0.0625em)}20%,80%{-webkit-transform:translateX(0.125em);transform:translateX(0.125em)}30%,50%,70%{-webkit-transform:translateX(-0.25em);transform:translateX(-0.25em)}40%,60%{-webkit-transform:translateX(0.25em);transform:translateX(0.25em)}}@-webkit-keyframes fall{0%{opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}70%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}100%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes fall{0%{opacity:0;-webkit-transform:scale(0.5);transform:scale(0.5);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}70%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}100%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;z-index:100}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{position:absolute;top:0;left:0;right:0;z-index:1;padding:0;margin:.25em;will-change:transform,opacity;touch-action:auto}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -0.0625em rgba(0, 0, 0, 0.25)}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:-webkit-grab;cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{transition:box-shadow .125s ease-in-out;box-shadow:0 0 0 rgba(0, 0, 0, 0)}.filepond--item[data-drag-state=drag]{cursor:-webkit-grabbing;cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em rgba(0, 0, 0, 0.325)}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=invalid] .filepond--item-panel,[data-filepond-item-state*=error] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{position:absolute;top:0;left:0;right:0;margin:0;will-change:transform}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;-webkit-mask:linear-gradient(to bottom, #000 calc(100% - 0.5em), transparent 100%);mask:linear-gradient(to bottom, #000 calc(100% - 0.5em), transparent 100%)}.filepond--list-scroller::-webkit-scrollbar{background:transparent}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.3);border-radius:99999px;border:.3125em solid transparent;background-clip:content-box}.filepond--list.filepond--list{position:absolute;top:0;margin:0;padding:0;list-style-type:none;will-change:transform}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{width:100%;height:100%;max-width:none;margin:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{bottom:0;height:auto;display:flex;justify-content:center;align-items:center;z-index:7}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{overflow:hidden;height:100%;margin-top:0;margin-bottom:0}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{left:0;right:0;height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--file-info{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--file-status{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1 !important;visibility:visible !important}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none) and (stroke-color: transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{border-radius:.5em;background-color:#f1f0ef}.filepond--panel{position:absolute;left:0;top:0;right:0;margin:0;height:100% !important;pointer-events:none}.filepond-panel:not([data-scalable=false]){height:auto !important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;background-color:transparent !important;border:none !important}.filepond--panel-top,.filepond--panel-bottom,.filepond--panel-center{position:absolute;left:0;top:0;right:0;margin:0;padding:0}.filepond--panel-top,.filepond--panel-bottom{height:.5em}.filepond--panel-top{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;border-bottom:none !important}.filepond--panel-top::after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background-color:inherit}.filepond--panel-center,.filepond--panel-bottom{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:translate3d(0, 0.5em, 0);transform:translate3d(0, 0.5em, 0)}.filepond--panel-bottom{border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-top:none !important}.filepond--panel-bottom::before{content:"";position:absolute;height:2px;left:0;right:0;top:-1px;background-color:inherit}.filepond--panel-center{height:100px !important;border-top:none !important;border-bottom:none !important;border-radius:0 !important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{position:static;width:1.25em;height:1.25em;color:#fff;margin:0;pointer-events:none;will-change:transform,opacity}.filepond--progress-indicator svg{width:100%;height:100%;vertical-align:top;transform-box:fill-box}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;position:relative;margin-bottom:1em;font-size:1rem;line-height:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:450;text-align:left;text-rendering:optimizeLegibility;direction:ltr;contain:layout style size}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root *:not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-top:1em;margin-bottom:1em}.filepond--root .filepond--credits{position:absolute;right:0;opacity:.4;line-height:.85;font-size:11px;color:inherit;text-decoration:none;z-index:3;bottom:-14px}.filepond--root .filepond--credits[style]{top:0;bottom:auto;margin-top:14px}/*# sourceMappingURL=vendor.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["file:///Users/orange/Code/ensons/ensons/node_modules/filepond/dist/filepond.css"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAOA,qBACI,kBACA,gBACA,WACA,UACA,UACA,SACA,8BACA,6BACA,qBACA,mBAGJ,qCAEI,kBACA,SACA,UAGA,SACA,WACA,uBAGA,UACA,YAEJ,gBACI,kBACA,QACA,SACA,UACA,SACA,YACA,kBACA,oBACA,eAEJ,gBACI,kBACA,MACA,OACA,QACA,SACA,gBACA,WAGA,oBAGA,mBAGA,+BAEJ,qBACI,kBACA,uCACA,+BACA,MACA,OACA,UACA,WACA,iBACA,gBACA,mBACA,kBAGA,8BAEJ,sBACI,kBACA,OACA,QACA,MACA,SACA,cAGA,aACA,uBACA,mBAGA,WAGA,yBACA,sBACA,qBACA,iBAGA,8BAGJ,iDACI,cACA,SACA,aAEJ,4BACI,eACA,iBACA,mBACA,kBACA,gBAEJ,wBACI,0BACA,iCACA,8BACA,sCACA,8BACA,eAEJ,2DACI,WAGJ,2DACI,cACA,cACA,eAEA,oBACA,oBAEA,SACA,UACA,YACA,aAEA,8BAIJ,gEACI,kBACA,gBACA,WACA,UACA,UACA,SACA,8BACA,6BACA,qBACA,mBAKJ,+DACI,WACA,YAKJ,kEACI,kBACA,aACA,cACA,YACA,eACA,WAGJ,8BAEI,YAGA,WAGA,kBACA,oCACA,sBAMA,0CACA,mCAEJ,wEAEI,iDAEJ,wCACI,+BACA,qCAEJ,sCACI,aAGJ,uDACI,UACA,WACA,gBAEJ,2EACI,sBAEJ,2EACI,wBAEJ,gCACI,YACA,oBACA,uBACA,oBACA,cACA,aACA,UACA,mBACA,mBACA,kBAEJ,oCACI,eACA,gBAEJ,qCACI,YACA,UAEJ,qBACI,gBACA,aACA,sBACA,uBACA,OACA,kBACA,YAGA,8BAGA,oBACA,yBACA,sBACA,qBACA,iBAIJ,uBACI,SAKJ,+CACI,gBACA,gBAGA,uBACA,gBACA,mBACA,WAEJ,8CACI,iBACA,WACA,oCACA,mBAEJ,oDACI,aAEJ,uBACI,gBACA,aACA,sBACA,qBACA,YACA,cAEA,SACA,iBACA,iBAGA,8BAGA,oBACA,yBACA,sBACA,qBACA,iBAIJ,yBACI,S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","file":"vendor.css","sourcesContent":["/*!\n * FilePond 4.32.10\n * Licensed under MIT, https://opensource.org/licenses/MIT/\n * Please visit https://pqina.nl/filepond/ for details.\n */\n\n/* eslint-disable */\n.filepond--assistant {\n position: absolute;\n overflow: hidden;\n height: 1px;\n width: 1px;\n padding: 0;\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n/* Hard to override styles */\n.filepond--browser.filepond--browser {\n /* is positioned absolute so it is focusable for form validation errors */\n position: absolute;\n margin: 0;\n padding: 0;\n\n /* is positioned ~behind drop label */\n left: 1em;\n top: 1.75em;\n width: calc(100% - 2em);\n\n /* hide visually */\n opacity: 0;\n font-size: 0; /* removes text cursor in Internet Explorer 11 */\n}\n.filepond--data {\n position: absolute;\n width: 0;\n height: 0;\n padding: 0;\n margin: 0;\n border: none;\n visibility: hidden;\n pointer-events: none;\n contain: strict;\n}\n.filepond--drip {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n opacity: 0.1;\n\n /* can't interact with this element */\n pointer-events: none;\n\n /* inherit border radius from parent (needed for drip-blob cut of) */\n border-radius: 0.5em;\n\n /* this seems to prevent Chrome from redrawing this layer constantly */\n background: rgba(0, 0, 0, 0.01);\n}\n.filepond--drip-blob {\n position: absolute;\n -webkit-transform-origin: center center;\n transform-origin: center center;\n top: 0;\n left: 0;\n width: 8em;\n height: 8em;\n margin-left: -4em;\n margin-top: -4em;\n background: #292625;\n border-radius: 50%;\n\n /* will be animated */\n will-change: transform, opacity;\n}\n.filepond--drop-label {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n margin: 0;\n color: #4f4f4f;\n\n /* center contents */\n display: flex;\n justify-content: center;\n align-items: center;\n\n /* fixes IE11 centering problems (is overruled by label min-height) */\n height: 0px;\n\n /* dont allow selection */\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n /* will be animated */\n will-change: transform, opacity;\n}\n/* Hard to override styles on purpose */\n.filepond--drop-label.filepond--drop-label label {\n display: block;\n margin: 0;\n padding: 0.5em; /* use padding instead of margin so click area is not impacted */\n}\n.filepond--drop-label label {\n cursor: default;\n font-size: 0.875em;\n font-weight: normal;\n text-align: center;\n line-height: 1.5;\n}\n.filepond--label-action {\n text-decoration: underline;\n -webkit-text-decoration-skip: ink;\n text-decoration-skip-ink: auto;\n -webkit-text-decoration-color: #a7a4a4;\n text-decoration-color: #a7a4a4;\n cursor: pointer;\n}\n.filepond--root[data-disabled] .filepond--drop-label label {\n opacity: 0.5;\n}\n/* Hard to override styles */\n.filepond--file-action-button.filepond--file-action-button {\n font-size: 1em;\n width: 1.625em;\n height: 1.625em;\n\n font-family: inherit;\n line-height: inherit;\n\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n\n will-change: transform, opacity;\n\n /* hidden label */\n}\n.filepond--file-action-button.filepond--file-action-button span {\n position: absolute;\n overflow: hidden;\n height: 1px;\n width: 1px;\n padding: 0;\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.filepond--file-action-button.filepond--file-action-button {\n /* scale SVG to fill button */\n}\n.filepond--file-action-button.filepond--file-action-button svg {\n width: 100%;\n height: 100%;\n}\n.filepond--file-action-button.filepond--file-action-button {\n /* bigger touch area */\n}\n.filepond--file-action-button.filepond--file-action-button::after {\n position: absolute;\n left: -0.75em;\n right: -0.75em;\n top: -0.75em;\n bottom: -0.75em;\n content: '';\n}\n/* Soft styles */\n.filepond--file-action-button {\n /* use default arrow cursor */\n cursor: auto;\n\n /* reset default button styles */\n color: #fff;\n\n /* set default look n feel */\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.5);\n background-image: none;\n\n /* we animate box shadow on focus */\n /* it's only slightly slower than animating */\n /* a pseudo-element with transforms and renders */\n /* a lot better on chrome */\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n transition: box-shadow 0.25s ease-in;\n}\n.filepond--file-action-button:hover,\n.filepond--file-action-button:focus {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.9);\n}\n.filepond--file-action-button[disabled] {\n color: rgba(255, 255, 255, 0.5);\n background-color: rgba(0, 0, 0, 0.25);\n}\n.filepond--file-action-button[hidden] {\n display: none;\n}\n/* edit button */\n.filepond--action-edit-item.filepond--action-edit-item {\n width: 2em;\n height: 2em;\n padding: 0.1875em;\n}\n.filepond--action-edit-item.filepond--action-edit-item[data-align*='center'] {\n margin-left: -0.1875em;\n}\n.filepond--action-edit-item.filepond--action-edit-item[data-align*='bottom'] {\n margin-bottom: -0.1875em;\n}\n.filepond--action-edit-item-alt {\n border: none;\n line-height: inherit;\n background: transparent;\n font-family: inherit;\n color: inherit;\n outline: none;\n padding: 0;\n margin: 0 0 0 0.25em;\n pointer-events: all;\n position: absolute;\n}\n.filepond--action-edit-item-alt svg {\n width: 1.3125em;\n height: 1.3125em;\n}\n.filepond--action-edit-item-alt span {\n font-size: 0;\n opacity: 0;\n}\n.filepond--file-info {\n position: static;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n margin: 0 0.5em 0 0;\n min-width: 0;\n\n /* will be animated */\n will-change: transform, opacity;\n\n /* can't do anything with this info */\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n /* no margins on children */\n}\n.filepond--file-info * {\n margin: 0;\n}\n.filepond--file-info {\n /* we don't want to have these overrules so these selectors are a bit more specific */\n}\n.filepond--file-info .filepond--file-info-main {\n font-size: 0.75em;\n line-height: 1.2;\n\n /* we want ellipsis if this bar gets too wide */\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n}\n.filepond--file-info .filepond--file-info-sub {\n font-size: 0.625em;\n opacity: 0.5;\n transition: opacity 0.25s ease-in-out;\n white-space: nowrap;\n}\n.filepond--file-info .filepond--file-info-sub:empty {\n display: none;\n}\n.filepond--file-status {\n position: static;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n flex-grow: 0;\n flex-shrink: 0;\n\n margin: 0;\n min-width: 2.25em;\n text-align: right;\n\n /* will be animated */\n will-change: transform, opacity;\n\n /* can't do anything with this info */\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n /* no margins on children */\n}\n.filepond--file-status * {\n margin: 0;\n white-space: nowrap;\n}\n.filepond--file-status {\n /* font sizes */\n}\n.filepond--file-status .filepond--file-status-main {\n font-size: 0.75em;\n line-height: 1.2;\n}\n.filepond--file-status .filepond--file-status-sub {\n font-size: 0.625em;\n opacity: 0.5;\n transition: opacity 0.25s ease-in-out;\n}\n/* Hard to override styles */\n.filepond--file-wrapper.filepond--file-wrapper {\n border: none;\n margin: 0;\n padding: 0;\n min-width: 0;\n height: 100%;\n\n /* hide legend for visual users */\n}\n.filepond--file-wrapper.filepond--file-wrapper > legend {\n position: absolute;\n overflow: hidden;\n height: 1px;\n width: 1px;\n padding: 0;\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.filepond--file {\n position: static;\n display: flex;\n height: 100%;\n align-items: flex-start;\n\n padding: 0.5625em 0.5625em;\n\n color: #fff;\n border-radius: 0.5em;\n\n /* control positions */\n}\n.filepond--file .filepond--file-status {\n margin-left: auto;\n margin-right: 2.25em;\n}\n.filepond--file .filepond--processing-complete-indicator {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n z-index: 3;\n}\n.filepond--file .filepond--processing-complete-indicator,\n.filepond--file .filepond--progress-indicator,\n.filepond--file .filepond--file-action-button {\n position: absolute;\n}\n.filepond--file {\n /* .filepond--file-action-button */\n}\n.filepond--file [data-align*='left'] {\n left: 0.5625em;\n}\n.filepond--file [data-align*='right'] {\n right: 0.5625em;\n}\n.filepond--file [data-align*='center'] {\n left: calc(50% - 0.8125em); /* .8125 is half of button width */\n}\n.filepond--file [data-align*='bottom'] {\n bottom: 1.125em;\n}\n.filepond--file [data-align='center'] {\n top: calc(50% - 0.8125em);\n}\n.filepond--file .filepond--progress-indicator {\n margin-top: 0.1875em;\n}\n.filepond--file .filepond--progress-indicator[data-align*='right'] {\n margin-right: 0.1875em;\n}\n.filepond--file .filepond--progress-indicator[data-align*='left'] {\n margin-left: 0.1875em;\n}\n/* make sure text does not overlap */\n[data-filepond-item-state='cancelled'] .filepond--file-info,\n[data-filepond-item-state*='invalid'] .filepond--file-info,\n[data-filepond-item-state*='error'] .filepond--file-info {\n margin-right: 2.25em;\n}\n[data-filepond-item-state~='processing'] .filepond--file-status-sub {\n opacity: 0;\n}\n[data-filepond-item-state~='processing']\n .filepond--action-abort-item-processing\n ~ .filepond--file-status\n .filepond--file-status-sub {\n opacity: 0.5;\n}\n[data-filepond-item-state='processing-error'] .filepond--file-status-sub {\n opacity: 0;\n}\n[data-filepond-item-state='processing-error']\n .filepond--action-retry-item-processing\n ~ .filepond--file-status\n .filepond--file-status-sub {\n opacity: 0.5;\n}\n[data-filepond-item-state='processing-complete'] {\n /* busy state */\n}\n[data-filepond-item-state='processing-complete'] .filepond--action-revert-item-processing svg {\n -webkit-animation: fall 0.5s 0.125s linear both;\n animation: fall 0.5s 0.125s linear both;\n}\n[data-filepond-item-state='processing-complete'] {\n /* hide details by default, only show when can revert */\n}\n[data-filepond-item-state='processing-complete'] .filepond--file-status-sub {\n opacity: 0.5;\n}\n[data-filepond-item-state='processing-complete']\n .filepond--processing-complete-indicator:not([style*='hidden'])\n ~ .filepond--file-status\n .filepond--file-status-sub {\n opacity: 0;\n}\n[data-filepond-item-state='processing-complete'] .filepond--file-info-sub {\n opacity: 0;\n}\n[data-filepond-item-state='processing-complete']\n .filepond--action-revert-item-processing\n ~ .filepond--file-info\n .filepond--file-info-sub {\n opacity: 0.5;\n}\n/* file state can be invalid or error, both are visually similar but */\n/* having them as separate states might be useful */\n[data-filepond-item-state*='invalid'] .filepond--panel,\n[data-filepond-item-state*='invalid'] .filepond--file-wrapper,\n[data-filepond-item-state*='error'] .filepond--panel,\n[data-filepond-item-state*='error'] .filepond--file-wrapper {\n -webkit-animation: shake 0.65s linear both;\n animation: shake 0.65s linear both;\n}\n/* spins progress indicator when file is marked as busy */\n[data-filepond-item-state*='busy'] .filepond--progress-indicator svg {\n -webkit-animation: spin 1s linear infinite;\n animation: spin 1s linear infinite;\n}\n/**\n * States\n */\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotateZ(0deg);\n transform: rotateZ(0deg);\n }\n\n 100% {\n -webkit-transform: rotateZ(360deg);\n transform: rotateZ(360deg);\n }\n}\n@keyframes spin {\n 0% {\n -webkit-transform: rotateZ(0deg);\n transform: rotateZ(0deg);\n }\n\n 100% {\n -webkit-transform: rotateZ(360deg);\n transform: rotateZ(360deg);\n }\n}\n@-webkit-keyframes shake {\n 10%,\n 90% {\n -webkit-transform: translateX(-0.0625em);\n transform: translateX(-0.0625em);\n }\n\n 20%,\n 80% {\n -webkit-transform: translateX(0.125em);\n transform: translateX(0.125em);\n }\n\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateX(-0.25em);\n transform: translateX(-0.25em);\n }\n\n 40%,\n 60% {\n -webkit-transform: translateX(0.25em);\n transform: translateX(0.25em);\n }\n}\n@keyframes shake {\n 10%,\n 90% {\n -webkit-transform: translateX(-0.0625em);\n transform: translateX(-0.0625em);\n }\n\n 20%,\n 80% {\n -webkit-transform: translateX(0.125em);\n transform: translateX(0.125em);\n }\n\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateX(-0.25em);\n transform: translateX(-0.25em);\n }\n\n 40%,\n 60% {\n -webkit-transform: translateX(0.25em);\n transform: translateX(0.25em);\n }\n}\n@-webkit-keyframes fall {\n 0% {\n opacity: 0;\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 70% {\n opacity: 1;\n -webkit-transform: scale(1.1);\n transform: scale(1.1);\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n}\n@keyframes fall {\n 0% {\n opacity: 0;\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 70% {\n opacity: 1;\n -webkit-transform: scale(1.1);\n transform: scale(1.1);\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n}\n/* ignore all other interaction elements while dragging a file */\n.filepond--hopper[data-hopper-state='drag-over'] > * {\n pointer-events: none;\n}\n/* capture all hit tests using a hidden layer, this speeds up the event flow */\n.filepond--hopper[data-hopper-state='drag-over']::after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 100;\n}\n.filepond--progress-indicator {\n z-index: 103;\n}\n.filepond--file-action-button {\n z-index: 102;\n}\n.filepond--file-status {\n z-index: 101;\n}\n.filepond--file-info {\n z-index: 100;\n}\n.filepond--item {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1;\n\n padding: 0;\n margin: 0.25em;\n\n will-change: transform, opacity;\n\n touch-action: auto;\n\n /* item children order */\n}\n.filepond--item > .filepond--panel {\n z-index: -1;\n}\n/* has a slight shadow */\n.filepond--item > .filepond--panel .filepond--panel-bottom {\n box-shadow: 0 0.0625em 0.125em -0.0625em rgba(0, 0, 0, 0.25);\n}\n.filepond--item {\n /* drag related */\n}\n.filepond--item > .filepond--file-wrapper,\n.filepond--item > .filepond--panel {\n transition: opacity 0.15s ease-out;\n}\n.filepond--item[data-drag-state] {\n cursor: -webkit-grab;\n cursor: grab;\n}\n.filepond--item[data-drag-state] > .filepond--panel {\n transition: box-shadow 0.125s ease-in-out;\n box-shadow: 0 0 0 rgba(0, 0, 0, 0);\n}\n.filepond--item[data-drag-state='drag'] {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n.filepond--item[data-drag-state='drag'] > .filepond--panel {\n box-shadow: 0 0.125em 0.3125em rgba(0, 0, 0, 0.325);\n}\n.filepond--item[data-drag-state]:not([data-drag-state='idle']) {\n z-index: 2;\n}\n/* states */\n.filepond--item-panel {\n background-color: #64605e;\n}\n[data-filepond-item-state='processing-complete'] .filepond--item-panel {\n background-color: #369763;\n}\n[data-filepond-item-state*='invalid'] .filepond--item-panel,\n[data-filepond-item-state*='error'] .filepond--item-panel {\n background-color: #c44e47;\n}\n/* style of item panel */\n.filepond--item-panel {\n border-radius: 0.5em;\n transition: background-color 0.25s;\n}\n/* normal mode */\n.filepond--list-scroller {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n margin: 0;\n will-change: transform;\n}\n/* scroll mode */\n.filepond--list-scroller[data-state='overflow'] .filepond--list {\n bottom: 0;\n right: 0;\n}\n.filepond--list-scroller[data-state='overflow'] {\n overflow-y: scroll;\n overflow-x: hidden;\n -webkit-overflow-scrolling: touch;\n -webkit-mask: linear-gradient(to bottom, #000 calc(100% - 0.5em), transparent 100%);\n mask: linear-gradient(to bottom, #000 calc(100% - 0.5em), transparent 100%);\n}\n/* style scrollbar */\n.filepond--list-scroller::-webkit-scrollbar {\n background: transparent;\n}\n.filepond--list-scroller::-webkit-scrollbar:vertical {\n width: 1em;\n}\n.filepond--list-scroller::-webkit-scrollbar:horizontal {\n height: 0;\n}\n.filepond--list-scroller::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.3);\n border-radius: 99999px;\n border: 0.3125em solid transparent;\n background-clip: content-box;\n}\n/* hard to overide styles on purpose */\n.filepond--list.filepond--list {\n position: absolute;\n top: 0;\n margin: 0;\n padding: 0;\n list-style-type: none;\n\n /* prevents endless paint calls on filepond--list-scroller */\n will-change: transform;\n}\n/* used for padding so allowed to be restyled */\n.filepond--list {\n left: 0.75em;\n right: 0.75em;\n}\n.filepond--root[data-style-panel-layout~='integrated'] {\n width: 100%;\n height: 100%;\n max-width: none;\n margin: 0;\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--panel-root,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--panel-root {\n border-radius: 0;\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--panel-root > *,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--panel-root > * {\n display: none;\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--drop-label,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--drop-label {\n bottom: 0;\n height: auto;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 7;\n}\n.filepond--root[data-style-panel-layout~='circle'],\n.filepond--root[data-style-panel-layout~='integrated'] {\n /* we're only loading one item, this makes the intro animation a bit nicer */\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--item-panel,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--item-panel {\n display: none;\n}\n.filepond--root[data-style-panel-layout~='compact'] .filepond--list-scroller,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--list-scroller {\n overflow: hidden;\n height: 100%;\n margin-top: 0;\n margin-bottom: 0;\n}\n.filepond--root[data-style-panel-layout~='compact'] .filepond--list,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--list {\n left: 0;\n right: 0;\n height: 100%;\n}\n.filepond--root[data-style-panel-layout~='compact'] .filepond--item,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--item {\n margin: 0;\n}\n.filepond--root[data-style-panel-layout~='compact'] .filepond--file-wrapper,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--file-wrapper {\n height: 100%;\n}\n.filepond--root[data-style-panel-layout~='compact'] .filepond--drop-label,\n.filepond--root[data-style-panel-layout~='integrated'] .filepond--drop-label {\n z-index: 7;\n}\n.filepond--root[data-style-panel-layout~='circle'] {\n border-radius: 99999rem;\n overflow: hidden;\n}\n.filepond--root[data-style-panel-layout~='circle'] > .filepond--panel {\n border-radius: inherit;\n}\n.filepond--root[data-style-panel-layout~='circle'] > .filepond--panel > * {\n display: none;\n}\n.filepond--root[data-style-panel-layout~='circle'] {\n /* circle cuts of this info, so best to hide it */\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--file-info {\n display: none;\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--file-status {\n display: none;\n}\n.filepond--root[data-style-panel-layout~='circle'] .filepond--action-edit-item {\n opacity: 1 !important;\n visibility: visible !important;\n}\n/* dirfty way to fix circular overflow issue on safari 11+ */\n@media not all and (min-resolution: 0.001dpcm) {\n @supports (-webkit-appearance: none) and (stroke-color: transparent) {\n .filepond--root[data-style-panel-layout~='circle'] {\n will-change: transform;\n }\n }\n}\n.filepond--panel-root {\n border-radius: 0.5em;\n background-color: #f1f0ef;\n}\n.filepond--panel {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n margin: 0;\n\n /* defaults to 100% height (fixed height mode) this fixes problem with panel height in IE11 */\n height: 100% !important;\n\n /* no interaction possible with panel */\n pointer-events: none;\n}\n.filepond-panel:not([data-scalable='false']) {\n height: auto !important;\n}\n.filepond--panel[data-scalable='false'] > div {\n display: none;\n}\n.filepond--panel[data-scalable='true'] {\n /* this seems to fix Chrome performance issues */\n /* - when box-shadow is enabled */\n /* - when multiple ponds are active on the same page */\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n /* prevent borders and backgrounds */\n background-color: transparent !important;\n border: none !important;\n}\n.filepond--panel-top,\n.filepond--panel-bottom,\n.filepond--panel-center {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n margin: 0;\n padding: 0;\n}\n.filepond--panel-top,\n.filepond--panel-bottom {\n height: 0.5em;\n}\n.filepond--panel-top {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n border-bottom: none !important;\n\n /* fixes tiny transparant line between top and center panel */\n}\n.filepond--panel-top::after {\n content: '';\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: -1px;\n background-color: inherit;\n}\n.filepond--panel-center,\n.filepond--panel-bottom {\n will-change: transform;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-origin: left top;\n transform-origin: left top;\n -webkit-transform: translate3d(0, 0.5em, 0);\n transform: translate3d(0, 0.5em, 0);\n}\n.filepond--panel-bottom {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n border-top: none !important;\n\n /* fixes tiny transparant line between bottom and center of panel */\n}\n.filepond--panel-bottom::before {\n content: '';\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n top: -1px;\n background-color: inherit;\n}\n.filepond--panel-center {\n /* the center panel is scaled using scale3d to fit the correct height */\n /* we use 100px instead of 1px as scaling 1px to a huge height is really laggy on chrome */\n height: 100px !important;\n border-top: none !important;\n border-bottom: none !important;\n border-radius: 0 !important;\n\n /* hide if not transformed, prevents a little flash when the panel is at 100px height while attached for first time */\n}\n.filepond--panel-center:not([style]) {\n visibility: hidden;\n}\n.filepond--progress-indicator {\n position: static;\n width: 1.25em;\n height: 1.25em;\n\n color: #fff;\n\n /* can't have margins */\n margin: 0;\n\n /* no interaction possible with progress indicator */\n pointer-events: none;\n\n /* will be animated */\n will-change: transform, opacity;\n}\n.filepond--progress-indicator svg {\n width: 100%;\n height: 100%;\n vertical-align: top;\n transform-box: fill-box; /* should center the animation correctly when zoomed in */\n}\n.filepond--progress-indicator path {\n fill: none;\n stroke: currentColor;\n}\n.filepond--list-scroller {\n z-index: 6;\n}\n.filepond--drop-label {\n z-index: 5;\n}\n.filepond--drip {\n z-index: 3;\n}\n.filepond--root > .filepond--panel {\n z-index: 2;\n}\n.filepond--browser {\n z-index: 1;\n}\n.filepond--root {\n /* layout*/\n box-sizing: border-box;\n position: relative;\n margin-bottom: 1em;\n\n /* base font size for whole component */\n font-size: 1rem;\n\n /* base line height */\n line-height: normal;\n\n /* up uses default system font family */\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n /* will increase font weight a bit on Safari */\n font-weight: 450;\n\n /* default text alignment */\n text-align: left;\n\n /* better text rendering on Safari */\n text-rendering: optimizeLegibility;\n\n /* text direction is ltr for now */\n direction: ltr;\n\n /* optimize rendering */\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/contain */\n contain: layout style size;\n\n /* correct box sizing, line-height and positioning on child elements */\n}\n.filepond--root * {\n box-sizing: inherit;\n line-height: inherit;\n}\n.filepond--root *:not(text) {\n font-size: inherit;\n}\n.filepond--root {\n /* block everything */\n}\n.filepond--root[data-disabled] {\n pointer-events: none;\n}\n.filepond--root[data-disabled] .filepond--list-scroller {\n pointer-events: all;\n}\n.filepond--root[data-disabled] .filepond--list {\n pointer-events: none;\n}\n/**\n * Root element children layout\n */\n.filepond--root .filepond--drop-label {\n min-height: 4.75em;\n}\n.filepond--root .filepond--list-scroller {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n.filepond--root .filepond--credits {\n position: absolute;\n right: 0;\n opacity: 0.4;\n line-height: 0.85;\n font-size: 11px;\n color: inherit;\n text-decoration: none;\n z-index: 3;\n bottom: -14px;\n}\n.filepond--root .filepond--credits[style] {\n top: 0;\n bottom: auto;\n margin-top: 14px;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use "filepond"
|
|
@@ -25,6 +25,9 @@ module Formatic
|
|
|
25
25
|
# For inputs that support `<input autofocus=...>`
|
|
26
26
|
option :autofocus, default: -> { false }
|
|
27
27
|
|
|
28
|
+
# Multiple records are submitted via one input.
|
|
29
|
+
option :multiple, default: -> { false }
|
|
30
|
+
|
|
28
31
|
# Some inputs (such as checkboxes and textfields)
|
|
29
32
|
# can be submitted continously by submitting their <form>
|
|
30
33
|
# via javascript.
|
|
@@ -68,7 +71,7 @@ module Formatic
|
|
|
68
71
|
|
|
69
72
|
# # Name of the URL param for this input.
|
|
70
73
|
def input_name
|
|
71
|
-
"#{param_key}[#{attribute_name}]"
|
|
74
|
+
"#{param_key}[#{attribute_name}]#{'[]' if multiple}"
|
|
72
75
|
end
|
|
73
76
|
end
|
|
74
77
|
end
|
|
@@ -104,7 +104,7 @@ module Formatic
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
def collection_for_month
|
|
107
|
-
result = (1..12).map { [l(::Date.new(1,
|
|
107
|
+
result = (1..12).map { [l(::Date.new(1, it), format: '%B %-m'), it] }
|
|
108
108
|
result.prepend([nil, nil]) if wrapper.optional?
|
|
109
109
|
result
|
|
110
110
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Formatic
|
|
4
|
+
# File upload
|
|
5
|
+
class File < ::Formatic::Base
|
|
6
|
+
option :direct_upload, default: -> { true }
|
|
7
|
+
option :multiple, default: -> { false }
|
|
8
|
+
|
|
9
|
+
erb_template <<~ERB
|
|
10
|
+
<%= render wrapper do |wrap| %>
|
|
11
|
+
|
|
12
|
+
<% wrap.with_input do %>
|
|
13
|
+
<div class="c-formatic-file js-formatic-file">
|
|
14
|
+
<%= f.file_field attribute_name, class: "js-formatic-file__input", direct_upload:, multiple: %>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<% end %>
|
|
18
|
+
<% end %>
|
|
19
|
+
ERB
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -40,7 +40,7 @@ module Formatic
|
|
|
40
40
|
|
|
41
41
|
# Usually the time component is used below the date component (for a DateTime attribute).
|
|
42
42
|
# So, normally we don't want the label to be shown twice.
|
|
43
|
-
def label
|
|
43
|
+
def label # rubocop:disable Naming/PredicateMethod
|
|
44
44
|
false
|
|
45
45
|
end
|
|
46
46
|
|
|
@@ -76,7 +76,7 @@ module Formatic
|
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
def collection_for_hour
|
|
79
|
-
result = (0..23).map { [
|
|
79
|
+
result = (0..23).map { [it, it] }
|
|
80
80
|
result.prepend([nil, nil]) if wrapper.optional?
|
|
81
81
|
result
|
|
82
82
|
end
|
|
@@ -91,7 +91,7 @@ module Formatic
|
|
|
91
91
|
steps.sort!
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
-
result = steps.map { [
|
|
94
|
+
result = steps.map { [it.to_s.rjust(2, '0'), it] }
|
|
95
95
|
result.prepend([nil, nil]) if wrapper.optional?
|
|
96
96
|
result
|
|
97
97
|
end
|
data/config/importmap.rb
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
pin 'formatic', to: 'src/setup.js'
|
|
4
|
+
|
|
5
|
+
pin 'formatic/date', to: 'formatic/date.js'
|
|
6
|
+
pin 'formatic/file', to: 'formatic/file.js'
|
|
7
|
+
pin 'formatic/select', to: 'formatic/select.js'
|
|
8
|
+
pin 'formatic/stepper', to: 'formatic/stepper.js'
|
|
9
|
+
pin 'formatic/string', to: 'formatic/string.js'
|
|
10
|
+
pin 'formatic/textarea', to: 'formatic/textarea.js'
|
|
11
|
+
pin 'formatic/toggle', to: 'formatic/toggle.js'
|
|
@@ -32,7 +32,7 @@ module Formatic
|
|
|
32
32
|
return false unless model_klass.respond_to?(:reflect_on_all_associations)
|
|
33
33
|
|
|
34
34
|
model_klass.reflect_on_all_associations(:belongs_to)
|
|
35
|
-
.detect {
|
|
35
|
+
.detect { it.foreign_key == attribute_name.to_s }
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
end
|
|
@@ -40,7 +40,7 @@ module Formatic
|
|
|
40
40
|
return false unless model_klass.respond_to?(:reflect_on_all_associations)
|
|
41
41
|
|
|
42
42
|
model_klass.reflect_on_all_associations(:belongs_to)
|
|
43
|
-
.detect {
|
|
43
|
+
.detect { it.foreign_key == attribute_name.to_s }
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
end
|
data/lib/formatic/engine.rb
CHANGED
|
@@ -7,6 +7,18 @@ module Formatic
|
|
|
7
7
|
# :nodoc:
|
|
8
8
|
class Engine < ::Rails::Engine
|
|
9
9
|
isolate_namespace Formatic
|
|
10
|
+
config.autoload_paths << root.join('lib')
|
|
11
|
+
|
|
12
|
+
initializer 'formatic.importmap', before: 'importmap' do |app|
|
|
13
|
+
app.config.importmap.paths << Engine.root.join('config/importmap.rb')
|
|
14
|
+
# Watch JS changes in development
|
|
15
|
+
app.config.importmap.cache_sweepers << Engine.root.join('app/assets/javascript')
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
initializer 'formatic.assets' do |app|
|
|
19
|
+
app.config.assets.paths << Engine.root.join('app/javascript')
|
|
20
|
+
app.config.assets.paths << Engine.root.join('app/stylesheets')
|
|
21
|
+
end
|
|
10
22
|
|
|
11
23
|
config.to_prepare do
|
|
12
24
|
# Our Formatic components are subclasses of `ViewComponent::Base`.
|
data/lib/formatic/version.rb
CHANGED
data/lib/formatic.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
require 'calls'
|
|
4
4
|
require 'countries'
|
|
5
5
|
require 'holidays'
|
|
6
|
+
require 'importmap-rails'
|
|
6
7
|
require 'dry/initializer'
|
|
7
8
|
|
|
8
9
|
require 'formatic/version'
|
|
@@ -20,7 +21,7 @@ require 'formatic/wrappers/required'
|
|
|
20
21
|
require 'formatic/wrappers/translate'
|
|
21
22
|
require 'formatic/wrappers/validators'
|
|
22
23
|
|
|
23
|
-
require 'formatic/engine'
|
|
24
|
+
require 'formatic/engine'
|
|
24
25
|
|
|
25
26
|
module Formatic
|
|
26
27
|
class Error < ::StandardError; end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: formatic
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- halo
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: actionview
|
|
@@ -80,6 +79,20 @@ dependencies:
|
|
|
80
79
|
- - ">="
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
81
|
version: '0'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: importmap-rails
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0'
|
|
89
|
+
type: :runtime
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
83
96
|
- !ruby/object:Gem::Dependency
|
|
84
97
|
name: view_component
|
|
85
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -104,37 +117,85 @@ files:
|
|
|
104
117
|
- CHANGELOG.md
|
|
105
118
|
- LICENSE.txt
|
|
106
119
|
- README.md
|
|
107
|
-
- app/assets/javascript/
|
|
108
|
-
- app/assets/javascript/
|
|
109
|
-
- app/assets/javascript/
|
|
110
|
-
- app/assets/javascript/
|
|
111
|
-
- app/assets/javascript/
|
|
112
|
-
- app/assets/javascript/
|
|
113
|
-
- app/assets/javascript/
|
|
114
|
-
- app/assets/javascript/
|
|
120
|
+
- app/assets/javascript/declarations/date.d.ts
|
|
121
|
+
- app/assets/javascript/declarations/file.d.ts
|
|
122
|
+
- app/assets/javascript/declarations/select.d.ts
|
|
123
|
+
- app/assets/javascript/declarations/setup.d.ts
|
|
124
|
+
- app/assets/javascript/declarations/stepper.d.ts
|
|
125
|
+
- app/assets/javascript/declarations/string.d.ts
|
|
126
|
+
- app/assets/javascript/declarations/textarea.d.ts
|
|
127
|
+
- app/assets/javascript/declarations/toggle.d.ts
|
|
128
|
+
- app/assets/javascript/formatic/date.js
|
|
129
|
+
- app/assets/javascript/formatic/date.js.map
|
|
130
|
+
- app/assets/javascript/formatic/file.js
|
|
131
|
+
- app/assets/javascript/formatic/file.js.map
|
|
132
|
+
- app/assets/javascript/formatic/select.js
|
|
133
|
+
- app/assets/javascript/formatic/select.js.map
|
|
134
|
+
- app/assets/javascript/formatic/setup.js
|
|
135
|
+
- app/assets/javascript/formatic/setup.js.map
|
|
136
|
+
- app/assets/javascript/formatic/stepper.js
|
|
137
|
+
- app/assets/javascript/formatic/stepper.js.map
|
|
138
|
+
- app/assets/javascript/formatic/string.js
|
|
139
|
+
- app/assets/javascript/formatic/string.js.map
|
|
140
|
+
- app/assets/javascript/formatic/textarea.js
|
|
141
|
+
- app/assets/javascript/formatic/textarea.js.map
|
|
142
|
+
- app/assets/javascript/formatic/toggle.js
|
|
143
|
+
- app/assets/javascript/formatic/toggle.js.map
|
|
144
|
+
- app/assets/javascript/src/date.ts
|
|
145
|
+
- app/assets/javascript/src/file.ts
|
|
146
|
+
- app/assets/javascript/src/select.ts
|
|
147
|
+
- app/assets/javascript/src/setup.js
|
|
148
|
+
- app/assets/javascript/src/stepper.ts
|
|
149
|
+
- app/assets/javascript/src/string.ts
|
|
150
|
+
- app/assets/javascript/src/textarea.ts
|
|
151
|
+
- app/assets/javascript/src/toggle.ts
|
|
152
|
+
- app/assets/stylesheets/formatic.css
|
|
153
|
+
- app/assets/stylesheets/formatic.sass
|
|
154
|
+
- app/assets/stylesheets/formatic/components/checklist.css
|
|
155
|
+
- app/assets/stylesheets/formatic/components/checklist.css.map
|
|
115
156
|
- app/assets/stylesheets/formatic/components/checklist.sass
|
|
157
|
+
- app/assets/stylesheets/formatic/components/date.css
|
|
116
158
|
- app/assets/stylesheets/formatic/components/date.sass
|
|
159
|
+
- app/assets/stylesheets/formatic/components/select.css
|
|
117
160
|
- app/assets/stylesheets/formatic/components/select.sass
|
|
161
|
+
- app/assets/stylesheets/formatic/components/stepper.css
|
|
118
162
|
- app/assets/stylesheets/formatic/components/stepper.sass
|
|
163
|
+
- app/assets/stylesheets/formatic/components/string.css
|
|
119
164
|
- app/assets/stylesheets/formatic/components/string.sass
|
|
165
|
+
- app/assets/stylesheets/formatic/components/textarea.css
|
|
120
166
|
- app/assets/stylesheets/formatic/components/textarea.sass
|
|
167
|
+
- app/assets/stylesheets/formatic/components/time.css
|
|
121
168
|
- app/assets/stylesheets/formatic/components/time.sass
|
|
169
|
+
- app/assets/stylesheets/formatic/components/toggle.css
|
|
122
170
|
- app/assets/stylesheets/formatic/components/toggle.sass
|
|
171
|
+
- app/assets/stylesheets/formatic/components/wrapper.css
|
|
123
172
|
- app/assets/stylesheets/formatic/components/wrapper.sass
|
|
173
|
+
- app/assets/stylesheets/formatic/formatic.css
|
|
174
|
+
- app/assets/stylesheets/formatic/formatic.css.map
|
|
175
|
+
- app/assets/stylesheets/formatic/generics/flip.css
|
|
176
|
+
- app/assets/stylesheets/formatic/generics/flip.css.map
|
|
124
177
|
- app/assets/stylesheets/formatic/generics/flip.sass
|
|
125
|
-
- app/assets/stylesheets/formatic/
|
|
126
|
-
- app/assets/stylesheets/formatic/package.json
|
|
178
|
+
- app/assets/stylesheets/formatic/scopes/form.css
|
|
127
179
|
- app/assets/stylesheets/formatic/scopes/form.sass
|
|
128
180
|
- app/assets/stylesheets/formatic/settings/_colors.sass
|
|
129
181
|
- app/assets/stylesheets/formatic/tools/_cloud.sass
|
|
130
182
|
- app/assets/stylesheets/formatic/tools/_mandatory.sass
|
|
131
183
|
- app/assets/stylesheets/formatic/tools/_terminal.sass
|
|
132
184
|
- app/assets/stylesheets/formatic/tools/_theme.sass
|
|
185
|
+
- app/assets/stylesheets/formatic/utilities/container.css
|
|
186
|
+
- app/assets/stylesheets/formatic/utilities/container.css.map
|
|
133
187
|
- app/assets/stylesheets/formatic/utilities/container.sass
|
|
188
|
+
- app/assets/stylesheets/formatic/vendor.css
|
|
189
|
+
- app/assets/stylesheets/formatic/vendor.css.map
|
|
190
|
+
- app/assets/stylesheets/vendor.css
|
|
191
|
+
- app/assets/stylesheets/vendor.css.map
|
|
192
|
+
- app/assets/stylesheets/vendor.sass
|
|
134
193
|
- app/components/formatic/application_component.rb
|
|
135
194
|
- app/components/formatic/base.rb
|
|
136
195
|
- app/components/formatic/checklist.rb
|
|
137
196
|
- app/components/formatic/date.rb
|
|
197
|
+
- app/components/formatic/file.rb
|
|
198
|
+
- app/components/formatic/files.rb
|
|
138
199
|
- app/components/formatic/select.rb
|
|
139
200
|
- app/components/formatic/stepper.rb
|
|
140
201
|
- app/components/formatic/string.rb
|
|
@@ -142,6 +203,7 @@ files:
|
|
|
142
203
|
- app/components/formatic/time.rb
|
|
143
204
|
- app/components/formatic/toggle.rb
|
|
144
205
|
- app/components/formatic/wrapper.rb
|
|
206
|
+
- config/importmap.rb
|
|
145
207
|
- config/locales/formatic.de.yml
|
|
146
208
|
- config/locales/formatic.en.yml
|
|
147
209
|
- lib/formatic.rb
|
|
@@ -170,7 +232,6 @@ metadata:
|
|
|
170
232
|
source_code_uri: https://github.com/halo/formatic
|
|
171
233
|
changelog_uri: https://github.com/halo/halo/blob/main/CHANGELOG.md
|
|
172
234
|
rubygems_mfa_required: 'true'
|
|
173
|
-
post_install_message:
|
|
174
235
|
rdoc_options: []
|
|
175
236
|
require_paths:
|
|
176
237
|
- lib
|
|
@@ -178,15 +239,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
178
239
|
requirements:
|
|
179
240
|
- - ">="
|
|
180
241
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: 3.
|
|
242
|
+
version: 3.4.0
|
|
182
243
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
244
|
requirements:
|
|
184
245
|
- - ">="
|
|
185
246
|
- !ruby/object:Gem::Version
|
|
186
247
|
version: '0'
|
|
187
248
|
requirements: []
|
|
188
|
-
rubygems_version: 3.
|
|
189
|
-
signing_key:
|
|
249
|
+
rubygems_version: 3.7.2
|
|
190
250
|
specification_version: 4
|
|
191
251
|
summary: A set of ViewComponents for form elements
|
|
192
252
|
test_files: []
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
namespace Formatic {
|
|
2
|
-
export class Date {
|
|
3
|
-
private el: HTMLElement
|
|
4
|
-
|
|
5
|
-
constructor(el: HTMLElement) {
|
|
6
|
-
this.el = el
|
|
7
|
-
this.setupBindings()
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
private setupBindings() {
|
|
11
|
-
this.shortcutButtons.forEach((el) => {
|
|
12
|
-
el.addEventListener('click', (event) => {
|
|
13
|
-
event.preventDefault()
|
|
14
|
-
const shortcut = <HTMLInputElement>event.currentTarget
|
|
15
|
-
|
|
16
|
-
this.dayInput.value = shortcut.dataset.day
|
|
17
|
-
this.monthInput.value = shortcut.dataset.month
|
|
18
|
-
this.yearInput.value = shortcut.dataset.year
|
|
19
|
-
})
|
|
20
|
-
})
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// ------------
|
|
24
|
-
// DOM Elements
|
|
25
|
-
// ------------
|
|
26
|
-
|
|
27
|
-
private get dayInput() {
|
|
28
|
-
return this.el.querySelector<HTMLSelectElement>('.js-formatic-date__day')
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
private get monthInput() {
|
|
32
|
-
return this.el.querySelector<HTMLSelectElement>('.js-formatic-date__month')
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private get yearInput() {
|
|
36
|
-
return this.el.querySelector<HTMLSelectElement>('.js-formatic-date__year')
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
private get shortcutButtons() {
|
|
40
|
-
return this.el.querySelectorAll<HTMLElement>('.js-formatic-date__shortcut')
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// --------------
|
|
46
|
-
// Initialization
|
|
47
|
-
// --------------
|
|
48
|
-
|
|
49
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
50
|
-
document.querySelectorAll<HTMLElement>('.js-formatic-date').forEach((el) => {
|
|
51
|
-
console.debug('Instantiating Formatic.Date...')
|
|
52
|
-
new Formatic.Date(el)
|
|
53
|
-
})
|
|
54
|
-
})
|