epages-essence 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +20 -0
  3. data/README.md +73 -0
  4. data/Rakefile +10 -0
  5. data/app/assets/config/essence_manifest.js +5 -0
  6. data/app/assets/images/essence/icon_component/arrow_up_right_from_square.svg +1 -0
  7. data/app/assets/images/essence/icon_component/circle_check.svg +1 -0
  8. data/app/assets/images/essence/icon_component/circle_exclamation.svg +1 -0
  9. data/app/assets/images/essence/icon_component/circle_info.svg +1 -0
  10. data/app/assets/images/essence/icon_component/circle_quote.svg +1 -0
  11. data/app/assets/images/essence/icon_component/circle_xmark.svg +1 -0
  12. data/app/assets/images/essence/icon_component/copy.svg +1 -0
  13. data/app/assets/images/essence/icon_component/download.svg +1 -0
  14. data/app/assets/images/essence/icon_component/eye.svg +1 -0
  15. data/app/assets/images/essence/icon_component/filter.svg +1 -0
  16. data/app/assets/images/essence/icon_component/greater_than.svg +1 -0
  17. data/app/assets/images/essence/icon_component/grid_2.svg +1 -0
  18. data/app/assets/images/essence/icon_component/home.svg +1 -0
  19. data/app/assets/images/essence/icon_component/link_slash.svg +1 -0
  20. data/app/assets/images/essence/icon_component/pencil.svg +1 -0
  21. data/app/assets/images/essence/icon_component/plus.svg +1 -0
  22. data/app/assets/images/essence/icon_component/sort.svg +1 -0
  23. data/app/assets/images/essence/icon_component/sort_down.svg +1 -0
  24. data/app/assets/images/essence/icon_component/sort_up.svg +1 -0
  25. data/app/assets/images/essence/icon_component/trash.svg +1 -0
  26. data/app/assets/images/essence/icon_component/upload.svg +1 -0
  27. data/app/assets/images/essence/icon_component/wand_magic_sparkles.svg +1 -0
  28. data/app/assets/stylesheets/essence/beyond/_base.scss +52 -0
  29. data/app/assets/stylesheets/essence/beyond/components/_index.scss +17 -0
  30. data/app/assets/stylesheets/essence/beyond/layout/_content.scss +9 -0
  31. data/app/assets/stylesheets/essence/beyond/layout/_index.scss +1 -0
  32. data/app/assets/stylesheets/essence/beyond/simple_form/_control.scss +172 -0
  33. data/app/assets/stylesheets/essence/beyond/simple_form/_error.scss +27 -0
  34. data/app/assets/stylesheets/essence/beyond/simple_form/_fieldset.scss +34 -0
  35. data/app/assets/stylesheets/essence/beyond/simple_form/_group.scss +6 -0
  36. data/app/assets/stylesheets/essence/beyond/simple_form/_hint.scss +8 -0
  37. data/app/assets/stylesheets/essence/beyond/simple_form/_index.scss +43 -0
  38. data/app/assets/stylesheets/essence/beyond/simple_form/_label.scss +26 -0
  39. data/app/assets/stylesheets/essence/beyond/simple_form/_wrapper.scss +5 -0
  40. data/app/assets/stylesheets/essence/beyond.scss +4 -0
  41. data/app/components/essence/action_bar_component/action_bar_component.html.erb +16 -0
  42. data/app/components/essence/action_bar_component/action_bar_component.scss +29 -0
  43. data/app/components/essence/action_bar_component.rb +27 -0
  44. data/app/components/essence/app_info_component/app_info_component.html.erb +19 -0
  45. data/app/components/essence/app_info_component/app_info_component.scss +45 -0
  46. data/app/components/essence/app_info_component.rb +33 -0
  47. data/app/components/essence/application_component.rb +36 -0
  48. data/app/components/essence/breadcrumb_component/breadcrumb_component.html.erb +17 -0
  49. data/app/components/essence/breadcrumb_component/breadcrumb_component.scss +39 -0
  50. data/app/components/essence/breadcrumb_component.rb +17 -0
  51. data/app/components/essence/button_component/button_component.html.erb +13 -0
  52. data/app/components/essence/button_component/button_component.scss +105 -0
  53. data/app/components/essence/button_component.rb +51 -0
  54. data/app/components/essence/card_component/card_component.html.erb +8 -0
  55. data/app/components/essence/card_component/card_component.scss +21 -0
  56. data/app/components/essence/card_component.rb +29 -0
  57. data/app/components/essence/clipboard_copy_component/clipboard_copy_component.html.erb +18 -0
  58. data/app/components/essence/clipboard_copy_component/clipboard_copy_component.scss +13 -0
  59. data/app/components/essence/clipboard_copy_component/clipboard_copy_component.yml +4 -0
  60. data/app/components/essence/clipboard_copy_component/clipboard_copy_component_controller.js +25 -0
  61. data/app/components/essence/clipboard_copy_component.rb +36 -0
  62. data/app/components/essence/empty_state_component/empty_state_component.html.erb +10 -0
  63. data/app/components/essence/empty_state_component/empty_state_component.scss +50 -0
  64. data/app/components/essence/empty_state_component.rb +33 -0
  65. data/app/components/essence/icon_component/icon_component.html.erb +1 -0
  66. data/app/components/essence/icon_component.rb +25 -0
  67. data/app/components/essence/link_component/link_component.html.erb +5 -0
  68. data/app/components/essence/link_component/link_component.scss +58 -0
  69. data/app/components/essence/link_component.rb +50 -0
  70. data/app/components/essence/notification_component/notification_component.html.erb +8 -0
  71. data/app/components/essence/notification_component/notification_component.scss +63 -0
  72. data/app/components/essence/notification_component.rb +45 -0
  73. data/app/components/essence/paragraph_component/paragraph_component.html.erb +3 -0
  74. data/app/components/essence/paragraph_component/paragraph_component.scss +59 -0
  75. data/app/components/essence/paragraph_component/paragraph_component_controller.js +19 -0
  76. data/app/components/essence/paragraph_component.rb +27 -0
  77. data/app/components/essence/scroll_shadow_component/scroll_shadow_component.html.erb +5 -0
  78. data/app/components/essence/scroll_shadow_component/scroll_shadow_component.scss +5 -0
  79. data/app/components/essence/scroll_shadow_component.rb +17 -0
  80. data/app/components/essence/spinner_component/spinner_component.html.erb +1 -0
  81. data/app/components/essence/spinner_component/spinner_component.scss +34 -0
  82. data/app/components/essence/spinner_component.rb +17 -0
  83. data/app/components/essence/status_component/status_component.html.erb +6 -0
  84. data/app/components/essence/status_component/status_component.scss +80 -0
  85. data/app/components/essence/status_component.rb +58 -0
  86. data/app/components/essence/step_list_component/item_component.html.erb +9 -0
  87. data/app/components/essence/step_list_component/step_list_component.html.erb +8 -0
  88. data/app/components/essence/step_list_component/step_list_component.scss +79 -0
  89. data/app/components/essence/step_list_component.rb +34 -0
  90. data/app/components/essence/table_component/table_component.html.erb +20 -0
  91. data/app/components/essence/table_component/table_component.scss +41 -0
  92. data/app/components/essence/table_component.rb +33 -0
  93. data/app/components/essence/title_component/title_component.html.erb +3 -0
  94. data/app/components/essence/title_component/title_component.scss +11 -0
  95. data/app/components/essence/title_component.rb +22 -0
  96. data/app/components/essence/tooltip_component/tooltip_component.html.erb +7 -0
  97. data/app/components/essence/tooltip_component/tooltip_component.scss +63 -0
  98. data/app/components/essence/tooltip_component/tooltip_component_controller.js +60 -0
  99. data/app/components/essence/tooltip_component.rb +23 -0
  100. data/app/helpers/essence/fetch_or_fallback_helper.rb +38 -0
  101. data/app/inputs/essence/toggle_input.rb +12 -0
  102. data/app/javascript/essence/application.js +4 -0
  103. data/app/javascript/essence/controllers/application.js +9 -0
  104. data/app/javascript/essence/controllers/index.js +12 -0
  105. data/app/views/essence/beyond/body.html.erb +8 -0
  106. data/config/importmap.rb +11 -0
  107. data/config/initializers/essence/simple_form.rb +117 -0
  108. data/config/locales/essence.en.yml +8 -0
  109. data/lib/epages/essence.rb +3 -0
  110. data/lib/essence/engine.rb +41 -0
  111. data/lib/essence/utils.rb +13 -0
  112. data/lib/essence/version.rb +5 -0
  113. data/lib/essence.rb +8 -0
  114. data/lib/tasks/essence_tasks.rake +6 -0
  115. data/vendor/javascript/@floating-ui--core.js +2 -0
  116. data/vendor/javascript/@floating-ui--dom.js +10 -0
  117. data/vendor/javascript/@floating-ui--utils--dom.js +2 -0
  118. data/vendor/javascript/@floating-ui--utils.js +2 -0
  119. data/vendor/javascript/scroll-shadow-element.js +2 -0
  120. metadata +300 -0
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Essence
4
+ module Utils
5
+ def get_directory_file_names(directory, extension)
6
+ return [] unless Dir.exist?(directory)
7
+
8
+ Dir.entries(directory)
9
+ .select { |file| File.extname(file) == ".#{extension}" }
10
+ .map { |file| File.basename(file, ".#{extension}") }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Essence
4
+ VERSION = '0.1.0'
5
+ end
data/lib/essence.rb ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'essence/version'
4
+ require 'essence/engine'
5
+
6
+ module Essence
7
+ # Your code goes here...
8
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # desc "Explaining what the task does"
4
+ # task :essence do
5
+ # # Task goes here
6
+ # end
@@ -0,0 +1,2 @@
1
+ import{getSideAxis as t,getAlignmentAxis as e,getAxisLength as n,getSide as o,getAlignment as s,evaluate as i,getPaddingObject as c,rectToClientRect as r,min as l,clamp as a,getOppositeAlignmentPlacement as f,placements as m,getAlignmentSides as d,getOppositePlacement as u,getExpandedPlacements as g,getOppositeAxisPlacements as p,sides as h,max as y,getOppositeAxis as w}from"@floating-ui/utils";export{rectToClientRect}from"@floating-ui/utils";function computeCoordsFromPlacement(i,c,r){let{reference:l,floating:a}=i;const f=t(c);const m=e(c);const d=n(m);const u=o(c);const g=f==="y";const p=l.x+l.width/2-a.width/2;const h=l.y+l.height/2-a.height/2;const y=l[d]/2-a[d]/2;let w;switch(u){case"top":w={x:p,y:l.y-a.height};break;case"bottom":w={x:p,y:l.y+l.height};break;case"right":w={x:l.x+l.width,y:h};break;case"left":w={x:l.x-a.width,y:h};break;default:w={x:l.x,y:l.y}}switch(s(c)){case"start":w[m]-=y*(r&&g?-1:1);break;case"end":w[m]+=y*(r&&g?-1:1);break}return w}const computePosition=async(t,e,n)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:c}=n;const r=i.filter(Boolean);const l=await(c.isRTL==null?void 0:c.isRTL(e));let a=await c.getElementRects({reference:t,floating:e,strategy:s});let{x:f,y:m}=computeCoordsFromPlacement(a,o,l);let d=o;let u={};let g=0;for(let n=0;n<r.length;n++){const{name:i,fn:p}=r[n];const{x:h,y:y,data:w,reset:x}=await p({x:f,y:m,initialPlacement:o,placement:d,strategy:s,middlewareData:u,rects:a,platform:c,elements:{reference:t,floating:e}});f=h!=null?h:f;m=y!=null?y:m;u={...u,[i]:{...u[i],...w}};if(x&&g<=50){g++;if(typeof x==="object"){x.placement&&(d=x.placement);x.rects&&(a=x.rects===true?await c.getElementRects({reference:t,floating:e,strategy:s}):x.rects);({x:f,y:m}=computeCoordsFromPlacement(a,d,l))}n=-1}}return{x:f,y:m,placement:d,strategy:s,middlewareData:u}};async function detectOverflow(t,e){var n;e===void 0&&(e={});const{x:o,y:s,platform:l,rects:a,elements:f,strategy:m}=t;const{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:g="floating",altBoundary:p=false,padding:h=0}=i(e,t);const y=c(h);const w=g==="floating"?"reference":"floating";const x=f[p?w:g];const v=r(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(x)))==null||n?x:x.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(f.floating)),boundary:d,rootBoundary:u,strategy:m}));const b=g==="floating"?{x:o,y:s,width:a.floating.width,height:a.floating.height}:a.reference;const A=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f.floating));const R=await(l.isElement==null?void 0:l.isElement(A))&&await(l.getScale==null?void 0:l.getScale(A))||{x:1,y:1};const O=r(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:b,offsetParent:A,strategy:m}):b);return{top:(v.top-O.top+y.top)/R.y,bottom:(O.bottom-v.bottom+y.bottom)/R.y,left:(v.left-O.left+y.left)/R.x,right:(O.right-v.right+y.right)/R.x}}const arrow=t=>({name:"arrow",options:t,async fn(o){const{x:r,y:f,placement:m,rects:d,platform:u,elements:g,middlewareData:p}=o;const{element:h,padding:y=0}=i(t,o)||{};if(h==null)return{};const w=c(y);const x={x:r,y:f};const v=e(m);const b=n(v);const A=await u.getDimensions(h);const R=v==="y";const O=R?"top":"left";const P=R?"bottom":"right";const C=R?"clientHeight":"clientWidth";const D=d.reference[b]+d.reference[v]-x[v]-d.floating[b];const T=x[v]-d.reference[v];const L=await(u.getOffsetParent==null?void 0:u.getOffsetParent(h));let B=L?L[C]:0;B&&await(u.isElement==null?void 0:u.isElement(L))||(B=g.floating[C]||d.floating[b]);const E=D/2-T/2;const k=B/2-A[b]/2-1;const S=l(w[O],k);const F=l(w[P],k);const H=S;const V=B-A[b]-F;const W=B/2-A[b]/2+E;const j=a(H,W,V);const z=!p.arrow&&s(m)!=null&&W!==j&&d.reference[b]/2-(W<H?S:F)-A[b]/2<0;const q=z?W<H?W-H:W-V:0;return{[v]:x[v]+q,data:{[v]:j,centerOffset:W-j-q,...z&&{alignmentOffset:q}},reset:z}}});function getPlacementList(t,e,n){const i=t?[...n.filter((e=>s(e)===t)),...n.filter((e=>s(e)!==t))]:n.filter((t=>o(t)===t));return i.filter((n=>!t||(s(n)===t||!!e&&f(n)!==n)))}const autoPlacement=function(t){t===void 0&&(t={});return{name:"autoPlacement",options:t,async fn(e){var n,c,r;const{rects:l,middlewareData:a,placement:f,platform:u,elements:g}=e;const{crossAxis:p=false,alignment:h,allowedPlacements:y=m,autoAlignment:w=true,...x}=i(t,e);const v=h!==void 0||y===m?getPlacementList(h||null,w,y):y;const b=await detectOverflow(e,x);const A=((n=a.autoPlacement)==null?void 0:n.index)||0;const R=v[A];if(R==null)return{};const O=d(R,l,await(u.isRTL==null?void 0:u.isRTL(g.floating)));if(f!==R)return{reset:{placement:v[0]}};const P=[b[o(R)],b[O[0]],b[O[1]]];const C=[...((c=a.autoPlacement)==null?void 0:c.overflows)||[],{placement:R,overflows:P}];const D=v[A+1];if(D)return{data:{index:A+1,overflows:C},reset:{placement:D}};const T=C.map((t=>{const e=s(t.placement);return[t.placement,e&&p?t.overflows.slice(0,2).reduce(((t,e)=>t+e),0):t.overflows[0],t.overflows]})).sort(((t,e)=>t[1]-e[1]));const L=T.filter((t=>t[2].slice(0,s(t[0])?2:3).every((t=>t<=0))));const B=((r=L[0])==null?void 0:r[0])||T[0][0];return B!==f?{data:{index:A+1,overflows:C},reset:{placement:B}}:{}}}};const flip=function(e){e===void 0&&(e={});return{name:"flip",options:e,async fn(n){var s,c;const{placement:r,middlewareData:l,rects:a,initialPlacement:f,platform:m,elements:h}=n;const{mainAxis:y=true,crossAxis:w=true,fallbackPlacements:x,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:A=true,...R}=i(e,n);if((s=l.arrow)!=null&&s.alignmentOffset)return{};const O=o(r);const P=t(f);const C=o(f)===f;const D=await(m.isRTL==null?void 0:m.isRTL(h.floating));const T=x||(C||!A?[u(f)]:g(f));const L=b!=="none";!x&&L&&T.push(...p(f,A,b,D));const B=[f,...T];const E=await detectOverflow(n,R);const k=[];let S=((c=l.flip)==null?void 0:c.overflows)||[];y&&k.push(E[O]);if(w){const t=d(r,a,D);k.push(E[t[0]],E[t[1]])}S=[...S,{placement:r,overflows:k}];if(!k.every((t=>t<=0))){var F,H;const e=(((F=l.flip)==null?void 0:F.index)||0)+1;const n=B[e];if(n)return{data:{index:e,overflows:S},reset:{placement:n}};let o=(H=S.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])==null?void 0:H.placement;if(!o)switch(v){case"bestFit":{var V;const e=(V=S.filter((e=>{if(L){const n=t(e.placement);return n===P||n==="y"}return true})).map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])==null?void 0:V[0];e&&(o=e);break}case"initialPlacement":o=f;break}if(r!==o)return{reset:{placement:o}}}return{}}}};function getSideOffsets(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function isAnySideFullyClipped(t){return h.some((e=>t[e]>=0))}const hide=function(t){t===void 0&&(t={});return{name:"hide",options:t,async fn(e){const{rects:n}=e;const{strategy:o="referenceHidden",...s}=i(t,e);switch(o){case"referenceHidden":{const t=await detectOverflow(e,{...s,elementContext:"reference"});const o=getSideOffsets(t,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:isAnySideFullyClipped(o)}}}case"escaped":{const t=await detectOverflow(e,{...s,altBoundary:true});const o=getSideOffsets(t,n.floating);return{data:{escapedOffsets:o,escaped:isAnySideFullyClipped(o)}}}default:return{}}}}};function getBoundingRect(t){const e=l(...t.map((t=>t.left)));const n=l(...t.map((t=>t.top)));const o=y(...t.map((t=>t.right)));const s=y(...t.map((t=>t.bottom)));return{x:e,y:n,width:o-e,height:s-n}}function getRectsByLine(t){const e=t.slice().sort(((t,e)=>t.y-e.y));const n=[];let o=null;for(let t=0;t<e.length;t++){const s=e[t];!o||s.y-o.y>o.height/2?n.push([s]):n[n.length-1].push(s);o=s}return n.map((t=>r(getBoundingRect(t))))}const inline=function(e){e===void 0&&(e={});return{name:"inline",options:e,async fn(n){const{placement:s,elements:a,rects:f,platform:m,strategy:d}=n;const{padding:u=2,x:g,y:p}=i(e,n);const h=Array.from(await(m.getClientRects==null?void 0:m.getClientRects(a.reference))||[]);const w=getRectsByLine(h);const x=r(getBoundingRect(h));const v=c(u);function getBoundingClientRect(){if(w.length===2&&w[0].left>w[1].right&&g!=null&&p!=null)return w.find((t=>g>t.left-v.left&&g<t.right+v.right&&p>t.top-v.top&&p<t.bottom+v.bottom))||x;if(w.length>=2){if(t(s)==="y"){const t=w[0];const e=w[w.length-1];const n=o(s)==="top";const i=t.top;const c=e.bottom;const r=n?t.left:e.left;const l=n?t.right:e.right;const a=l-r;const f=c-i;return{top:i,bottom:c,left:r,right:l,width:a,height:f,x:r,y:i}}const e=o(s)==="left";const n=y(...w.map((t=>t.right)));const i=l(...w.map((t=>t.left)));const c=w.filter((t=>e?t.left===i:t.right===n));const r=c[0].top;const a=c[c.length-1].bottom;const f=i;const m=n;const d=m-f;const u=a-r;return{top:r,bottom:a,left:f,right:m,width:d,height:u,x:f,y:r}}return x}const b=await m.getElementRects({reference:{getBoundingClientRect:getBoundingClientRect},floating:a.floating,strategy:d});return f.reference.x!==b.reference.x||f.reference.y!==b.reference.y||f.reference.width!==b.reference.width||f.reference.height!==b.reference.height?{reset:{rects:b}}:{}}}};async function convertValueToCoords(e,n){const{placement:c,platform:r,elements:l}=e;const a=await(r.isRTL==null?void 0:r.isRTL(l.floating));const f=o(c);const m=s(c);const d=t(c)==="y";const u=["left","top"].includes(f)?-1:1;const g=a&&d?-1:1;const p=i(n,e);let{mainAxis:h,crossAxis:y,alignmentAxis:w}=typeof p==="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};m&&typeof w==="number"&&(y=m==="end"?w*-1:w);return d?{x:y*g,y:h*u}:{x:h*u,y:y*g}}const offset=function(t){t===void 0&&(t=0);return{name:"offset",options:t,async fn(e){var n,o;const{x:s,y:i,placement:c,middlewareData:r}=e;const l=await convertValueToCoords(e,t);return c===((n=r.offset)==null?void 0:n.placement)&&(o=r.arrow)!=null&&o.alignmentOffset?{}:{x:s+l.x,y:i+l.y,data:{...l,placement:c}}}}};const shift=function(e){e===void 0&&(e={});return{name:"shift",options:e,async fn(n){const{x:s,y:c,placement:r}=n;const{mainAxis:l=true,crossAxis:f=false,limiter:m={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...d}=i(e,n);const u={x:s,y:c};const g=await detectOverflow(n,d);const p=t(o(r));const h=w(p);let y=u[h];let x=u[p];if(l){const t=h==="y"?"top":"left";const e=h==="y"?"bottom":"right";const n=y+g[t];const o=y-g[e];y=a(n,y,o)}if(f){const t=p==="y"?"top":"left";const e=p==="y"?"bottom":"right";const n=x+g[t];const o=x-g[e];x=a(n,x,o)}const v=m.fn({...n,[h]:y,[p]:x});return{...v,data:{x:v.x-s,y:v.y-c,enabled:{[h]:l,[p]:f}}}}}};const limitShift=function(e){e===void 0&&(e={});return{options:e,fn(n){const{x:s,y:c,placement:r,rects:l,middlewareData:a}=n;const{offset:f=0,mainAxis:m=true,crossAxis:d=true}=i(e,n);const u={x:s,y:c};const g=t(r);const p=w(g);let h=u[p];let y=u[g];const x=i(f,n);const v=typeof x==="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(m){const t=p==="y"?"height":"width";const e=l.reference[p]-l.floating[t]+v.mainAxis;const n=l.reference[p]+l.reference[t]-v.mainAxis;h<e?h=e:h>n&&(h=n)}if(d){var b,A;const t=p==="y"?"width":"height";const e=["top","left"].includes(o(r));const n=l.reference[g]-l.floating[t]+(e&&((b=a.offset)==null?void 0:b[g])||0)+(e?0:v.crossAxis);const s=l.reference[g]+l.reference[t]+(e?0:((A=a.offset)==null?void 0:A[g])||0)-(e?v.crossAxis:0);y<n?y=n:y>s&&(y=s)}return{[p]:h,[g]:y}}}};const size=function(e){e===void 0&&(e={});return{name:"size",options:e,async fn(n){var c,r;const{placement:a,rects:f,platform:m,elements:d}=n;const{apply:u=(()=>{}),...g}=i(e,n);const p=await detectOverflow(n,g);const h=o(a);const w=s(a);const x=t(a)==="y";const{width:v,height:b}=f.floating;let A;let R;if(h==="top"||h==="bottom"){A=h;R=w===(await(m.isRTL==null?void 0:m.isRTL(d.floating))?"start":"end")?"left":"right"}else{R=h;A=w==="end"?"top":"bottom"}const O=b-p.top-p.bottom;const P=v-p.left-p.right;const C=l(b-p[A],O);const D=l(v-p[R],P);const T=!n.middlewareData.shift;let L=C;let B=D;(c=n.middlewareData.shift)!=null&&c.enabled.x&&(B=P);(r=n.middlewareData.shift)!=null&&r.enabled.y&&(L=O);if(T&&!w){const t=y(p.left,0);const e=y(p.right,0);const n=y(p.top,0);const o=y(p.bottom,0);x?B=v-2*(t!==0||e!==0?t+e:y(p.left,p.right)):L=b-2*(n!==0||o!==0?n+o:y(p.top,p.bottom))}await u({...n,availableWidth:B,availableHeight:L});const E=await m.getDimensions(d.floating);return v!==E.width||b!==E.height?{reset:{rects:true}}:{}}}};export{arrow,autoPlacement,computePosition,detectOverflow,flip,hide,inline,limitShift,offset,shift,size};
2
+
@@ -0,0 +1,10 @@
1
+ import{rectToClientRect as t,detectOverflow as e,offset as n,autoPlacement as o,shift as i,flip as s,size as c,hide as r,arrow as l,inline as f,limitShift as a,computePosition as u}from"@floating-ui/core";import{round as g,createCoords as h,max as d,min as p,floor as m}from"@floating-ui/utils";import{getComputedStyle as w,isHTMLElement as R,isElement as x,getWindow as v,isWebKit as y,getFrameElement as C,getDocumentElement as b,isTopLayer as O,getNodeName as T,isOverflowElement as L,getNodeScroll as P,getParentNode as B,isLastTraversableNode as S,getOverflowAncestors as A,isContainingBlock as F,isTableElement as E,getContainingBlock as V}from"@floating-ui/utils/dom";export{getOverflowAncestors}from"@floating-ui/utils/dom";function getCssDimensions(t){const e=w(t);let n=parseFloat(e.width)||0;let o=parseFloat(e.height)||0;const i=R(t);const s=i?t.offsetWidth:n;const c=i?t.offsetHeight:o;const r=g(n)!==s||g(o)!==c;if(r){n=s;o=c}return{width:n,height:o,$:r}}function unwrapElement(t){return x(t)?t:t.contextElement}function getScale(t){const e=unwrapElement(t);if(!R(e))return h(1);const n=e.getBoundingClientRect();const{width:o,height:i,$:s}=getCssDimensions(e);let c=(s?g(n.width):n.width)/o;let r=(s?g(n.height):n.height)/i;c&&Number.isFinite(c)||(c=1);r&&Number.isFinite(r)||(r=1);return{x:c,y:r}}const W=h(0);function getVisualOffsets(t){const e=v(t);return y()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:W}function shouldAddVisualOffsets(t,e,n){e===void 0&&(e=false);return!(!n||e&&n!==v(t))&&e}function getBoundingClientRect(e,n,o,i){n===void 0&&(n=false);o===void 0&&(o=false);const s=e.getBoundingClientRect();const c=unwrapElement(e);let r=h(1);n&&(i?x(i)&&(r=getScale(i)):r=getScale(e));const l=shouldAddVisualOffsets(c,o,i)?getVisualOffsets(c):h(0);let f=(s.left+l.x)/r.x;let a=(s.top+l.y)/r.y;let u=s.width/r.x;let g=s.height/r.y;if(c){const t=v(c);const e=i&&x(i)?v(i):i;let n=t;let o=C(n);while(o&&i&&e!==n){const t=getScale(o);const e=o.getBoundingClientRect();const i=w(o);const s=e.left+(o.clientLeft+parseFloat(i.paddingLeft))*t.x;const c=e.top+(o.clientTop+parseFloat(i.paddingTop))*t.y;f*=t.x;a*=t.y;u*=t.x;g*=t.y;f+=s;a+=c;n=v(o);o=C(n)}}return t({width:u,height:g,x:f,y:a})}function convertOffsetParentRelativeRectToViewportRelativeRect(t){let{elements:e,rect:n,offsetParent:o,strategy:i}=t;const s=i==="fixed";const c=b(o);const r=!!e&&O(e.floating);if(o===c||r&&s)return n;let l={scrollLeft:0,scrollTop:0};let f=h(1);const a=h(0);const u=R(o);if(u||!u&&!s){(T(o)!=="body"||L(c))&&(l=P(o));if(R(o)){const t=getBoundingClientRect(o);f=getScale(o);a.x=t.x+o.clientLeft;a.y=t.y+o.clientTop}}return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-l.scrollLeft*f.x+a.x,y:n.y*f.y-l.scrollTop*f.y+a.y}}function getClientRects(t){return Array.from(t.getClientRects())}function getWindowScrollBarX(t,e){const n=P(t).scrollLeft;return e?e.left+n:getBoundingClientRect(b(t)).left+n}function getDocumentRect(t){const e=b(t);const n=P(t);const o=t.ownerDocument.body;const i=d(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth);const s=d(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let c=-n.scrollLeft+getWindowScrollBarX(t);const r=-n.scrollTop;w(o).direction==="rtl"&&(c+=d(e.clientWidth,o.clientWidth)-i);return{width:i,height:s,x:c,y:r}}function getViewportRect(t,e){const n=v(t);const o=b(t);const i=n.visualViewport;let s=o.clientWidth;let c=o.clientHeight;let r=0;let l=0;if(i){s=i.width;c=i.height;const t=y();if(!t||t&&e==="fixed"){r=i.offsetLeft;l=i.offsetTop}}return{width:s,height:c,x:r,y:l}}function getInnerBoundingClientRect(t,e){const n=getBoundingClientRect(t,true,e==="fixed");const o=n.top+t.clientTop;const i=n.left+t.clientLeft;const s=R(t)?getScale(t):h(1);const c=t.clientWidth*s.x;const r=t.clientHeight*s.y;const l=i*s.x;const f=o*s.y;return{width:c,height:r,x:l,y:f}}function getClientRectFromClippingAncestor(e,n,o){let i;if(n==="viewport")i=getViewportRect(e,o);else if(n==="document")i=getDocumentRect(b(e));else if(x(n))i=getInnerBoundingClientRect(n,o);else{const t=getVisualOffsets(e);i={...n,x:n.x-t.x,y:n.y-t.y}}return t(i)}function hasFixedPositionAncestor(t,e){const n=B(t);return!(n===e||!x(n)||S(n))&&(w(n).position==="fixed"||hasFixedPositionAncestor(n,e))}function getClippingElementAncestors(t,e){const n=e.get(t);if(n)return n;let o=A(t,[],false).filter((t=>x(t)&&T(t)!=="body"));let i=null;const s=w(t).position==="fixed";let c=s?B(t):t;while(x(c)&&!S(c)){const e=w(c);const n=F(c);n||e.position!=="fixed"||(i=null);const r=s?!n&&!i:!n&&e.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||L(c)&&!n&&hasFixedPositionAncestor(t,c);r?o=o.filter((t=>t!==c)):i=e;c=B(c)}e.set(t,o);return o}function getClippingRect(t){let{element:e,boundary:n,rootBoundary:o,strategy:i}=t;const s=n==="clippingAncestors"?O(e)?[]:getClippingElementAncestors(e,this._c):[].concat(n);const c=[...s,o];const r=c[0];const l=c.reduce(((t,n)=>{const o=getClientRectFromClippingAncestor(e,n,i);t.top=d(o.top,t.top);t.right=p(o.right,t.right);t.bottom=p(o.bottom,t.bottom);t.left=d(o.left,t.left);return t}),getClientRectFromClippingAncestor(e,r,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function getDimensions(t){const{width:e,height:n}=getCssDimensions(t);return{width:e,height:n}}function getRectRelativeToOffsetParent(t,e,n){const o=R(e);const i=b(e);const s=n==="fixed";const c=getBoundingClientRect(t,true,s,e);let r={scrollLeft:0,scrollTop:0};const l=h(0);if(o||!o&&!s){(T(e)!=="body"||L(i))&&(r=P(e));if(o){const t=getBoundingClientRect(e,true,s,e);l.x=t.x+e.clientLeft;l.y=t.y+e.clientTop}else i&&(l.x=getWindowScrollBarX(i))}let f=0;let a=0;if(i&&!o&&!s){const t=i.getBoundingClientRect();a=t.top+r.scrollTop;f=t.left+r.scrollLeft-getWindowScrollBarX(i,t)}const u=c.left+r.scrollLeft-l.x-f;const g=c.top+r.scrollTop-l.y-a;return{x:u,y:g,width:c.width,height:c.height}}function isStaticPositioned(t){return w(t).position==="static"}function getTrueOffsetParent(t,e){if(!R(t)||w(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;b(t)===n&&(n=n.ownerDocument.body);return n}function getOffsetParent(t,e){const n=v(t);if(O(t))return n;if(!R(t)){let e=B(t);while(e&&!S(e)){if(x(e)&&!isStaticPositioned(e))return e;e=B(e)}return n}let o=getTrueOffsetParent(t,e);while(o&&E(o)&&isStaticPositioned(o))o=getTrueOffsetParent(o,e);return o&&S(o)&&isStaticPositioned(o)&&!F(o)?n:o||V(t)||n}const getElementRects=async function(t){const e=this.getOffsetParent||getOffsetParent;const n=this.getDimensions;const o=await n(t.floating);return{reference:getRectRelativeToOffsetParent(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function isRTL(t){return w(t).direction==="rtl"}const D={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:b,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:x,isRTL:isRTL};function observeMove(t,e){let n=null;let o;const i=b(t);function cleanup(){var t;clearTimeout(o);(t=n)==null||t.disconnect();n=null}function refresh(s,c){s===void 0&&(s=false);c===void 0&&(c=1);cleanup();const{left:r,top:l,width:f,height:a}=t.getBoundingClientRect();s||e();if(!f||!a)return;const u=m(l);const g=m(i.clientWidth-(r+f));const h=m(i.clientHeight-(l+a));const w=m(r);const R=-u+"px "+-g+"px "+-h+"px "+-w+"px";const x={rootMargin:R,threshold:d(0,p(1,c))||1};let v=true;function handleObserve(t){const e=t[0].intersectionRatio;if(e!==c){if(!v)return refresh();e?refresh(false,e):o=setTimeout((()=>{refresh(false,1e-7)}),1e3)}v=false}try{n=new IntersectionObserver(handleObserve,{...x,root:i.ownerDocument})}catch(t){n=new IntersectionObserver(handleObserve,x)}n.observe(t)}refresh(true);return cleanup}
2
+ /**
3
+ * Automatically updates the position of the floating element when necessary.
4
+ * Should only be called when the floating element is mounted on the DOM or
5
+ * visible on the screen.
6
+ * @returns cleanup function that should be invoked when the floating element is
7
+ * removed from the DOM or hidden from the screen.
8
+ * @see https://floating-ui.com/docs/autoUpdate
9
+ */function autoUpdate(t,e,n,o){o===void 0&&(o={});const{ancestorScroll:i=true,ancestorResize:s=true,elementResize:c=typeof ResizeObserver==="function",layoutShift:r=typeof IntersectionObserver==="function",animationFrame:l=false}=o;const f=unwrapElement(t);const a=i||s?[...f?A(f):[],...A(e)]:[];a.forEach((t=>{i&&t.addEventListener("scroll",n,{passive:true});s&&t.addEventListener("resize",n)}));const u=f&&r?observeMove(f,n):null;let g=-1;let h=null;if(c){h=new ResizeObserver((t=>{let[o]=t;if(o&&o.target===f&&h){h.unobserve(e);cancelAnimationFrame(g);g=requestAnimationFrame((()=>{var t;(t=h)==null||t.observe(e)}))}n()}));f&&!l&&h.observe(f);h.observe(e)}let d;let p=l?getBoundingClientRect(t):null;l&&frameLoop();function frameLoop(){const e=getBoundingClientRect(t);!p||e.x===p.x&&e.y===p.y&&e.width===p.width&&e.height===p.height||n();p=e;d=requestAnimationFrame(frameLoop)}n();return()=>{var t;a.forEach((t=>{i&&t.removeEventListener("scroll",n);s&&t.removeEventListener("resize",n)}));u==null||u();(t=h)==null||t.disconnect();h=null;l&&cancelAnimationFrame(d)}}const H=e;const z=n;const I=o;const M=i;const X=s;const q=c;const N=r;const U=l;const $=f;const _=a;const computePosition=(t,e,n)=>{const o=new Map;const i={platform:D,...n};const s={...i.platform,_c:o};return u(t,e,{...i,platform:s})};export{U as arrow,I as autoPlacement,autoUpdate,computePosition,H as detectOverflow,X as flip,N as hide,$ as inline,_ as limitShift,z as offset,D as platform,M as shift,q as size};
10
+
@@ -0,0 +1,2 @@
1
+ function hasWindow(){return typeof window!=="undefined"}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return(t=(isNode(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function isNode(e){return!!hasWindow()&&(e instanceof Node||e instanceof getWindow(e).Node)}function isElement(e){return!!hasWindow()&&(e instanceof Element||e instanceof getWindow(e).Element)}function isHTMLElement(e){return!!hasWindow()&&(e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement)}function isShadowRoot(e){return!(!hasWindow()||typeof ShadowRoot==="undefined")&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=getComputedStyle(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(r)}function isTableElement(e){return["table","td","th"].includes(getNodeName(e))}function isTopLayer(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(e){return false}}))}function isContainingBlock(e){const t=isWebKit();const n=isElement(e)?getComputedStyle(e):e;return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function getContainingBlock(e){let t=getParentNode(e);while(isHTMLElement(t)&&!isLastTraversableNode(t)){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return!(typeof CSS==="undefined"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function isLastTraversableNode(e){return["html","body","#document"].includes(getNodeName(e))}function getComputedStyle(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if(getNodeName(e)==="html")return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var o;t===void 0&&(t=[]);n===void 0&&(n=true);const r=getNearestOverflowAncestor(e);const i=r===((o=e.ownerDocument)==null?void 0:o.body);const l=getWindow(r);if(i){const e=getFrameElement(l);return t.concat(l,l.visualViewport||[],isOverflowElement(r)?r:[],e&&n?getOverflowAncestors(e):[])}return t.concat(r,getOverflowAncestors(r,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}export{getComputedStyle,getContainingBlock,getDocumentElement,getFrameElement,getNearestOverflowAncestor,getNodeName,getNodeScroll,getOverflowAncestors,getParentNode,getWindow,isContainingBlock,isElement,isHTMLElement,isLastTraversableNode,isNode,isOverflowElement,isShadowRoot,isTableElement,isTopLayer,isWebKit};
2
+
@@ -0,0 +1,2 @@
1
+ const t=["top","right","bottom","left"];const e=["start","end"];const n=t.reduce(((t,n)=>t.concat(n,n+"-"+e[0],n+"-"+e[1])),[]);const i=Math.min;const o=Math.max;const g=Math.round;const c=Math.floor;const createCoords=t=>({x:t,y:t});const s={left:"right",right:"left",bottom:"top",top:"bottom"};const r={start:"end",end:"start"};function clamp(t,e,n){return o(t,i(e,n))}function evaluate(t,e){return typeof t==="function"?t(e):t}function getSide(t){return t.split("-")[0]}function getAlignment(t){return t.split("-")[1]}function getOppositeAxis(t){return t==="x"?"y":"x"}function getAxisLength(t){return t==="y"?"height":"width"}function getSideAxis(t){return["top","bottom"].includes(getSide(t))?"y":"x"}function getAlignmentAxis(t){return getOppositeAxis(getSideAxis(t))}function getAlignmentSides(t,e,n){n===void 0&&(n=false);const i=getAlignment(t);const o=getAlignmentAxis(t);const g=getAxisLength(o);let c=o==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";e.reference[g]>e.floating[g]&&(c=getOppositePlacement(c));return[c,getOppositePlacement(c)]}function getExpandedPlacements(t){const e=getOppositePlacement(t);return[getOppositeAlignmentPlacement(t),e,getOppositeAlignmentPlacement(e)]}function getOppositeAlignmentPlacement(t){return t.replace(/start|end/g,(t=>r[t]))}function getSideList(t,e,n){const i=["left","right"];const o=["right","left"];const g=["top","bottom"];const c=["bottom","top"];switch(t){case"top":case"bottom":return n?e?o:i:e?i:o;case"left":case"right":return e?g:c;default:return[]}}function getOppositeAxisPlacements(t,e,n,i){const o=getAlignment(t);let g=getSideList(getSide(t),n==="start",i);if(o){g=g.map((t=>t+"-"+o));e&&(g=g.concat(g.map(getOppositeAlignmentPlacement)))}return g}function getOppositePlacement(t){return t.replace(/left|right|bottom|top/g,(t=>s[t]))}function expandPaddingObject(t){return{top:0,right:0,bottom:0,left:0,...t}}function getPaddingObject(t){return typeof t!=="number"?expandPaddingObject(t):{top:t,right:t,bottom:t,left:t}}function rectToClientRect(t){const{x:e,y:n,width:i,height:o}=t;return{width:i,height:o,top:n,left:e,right:e+i,bottom:n+o,x:e,y:n}}export{e as alignments,clamp,createCoords,evaluate,expandPaddingObject,c as floor,getAlignment,getAlignmentAxis,getAlignmentSides,getAxisLength,getExpandedPlacements,getOppositeAlignmentPlacement,getOppositeAxis,getOppositeAxisPlacements,getOppositePlacement,getPaddingObject,getSide,getSideAxis,o as max,i as min,n as placements,rectToClientRect,g as round,t as sides};
2
+
@@ -0,0 +1,2 @@
1
+ var t="<slot></slot><s></s><style>:host{display:inline-block;position:relative}:host([hidden]){display:none}s{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;--m:var(--scroll-shadow-size, 14) * 1px;background:var(--scroll-shadow-top,radial-gradient(farthest-side at 50% 0,#0003,#0000)) top/100% min(var(--t),var(--m)),var(--scroll-shadow-bottom,radial-gradient(farthest-side at 50% 100%,#0003,#0000)) bottom/100% min(var(--b),var(--m)),var(--scroll-shadow-left,radial-gradient(farthest-side at 0,#0003,#0000)) left/min(var(--l),var(--m)) 100%,var(--scroll-shadow-right,radial-gradient(farthest-side at 100%,#0003,#0000)) right/min(var(--r),var(--m)) 100%;background-repeat:no-repeat}</style>";var e=new WeakMap;var s=class extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"});this.shadowRoot.innerHTML=t;this.shadowRoot.addEventListener("slotchange",(()=>this.connectedCallback()));e.set(this,new o(this.shadowRoot.children[1]))}connectedCallback(){e.get(this).on(this.children[0])}disconnectedCallback(){e.get(this).on()}};var o=class{constructor(t){this.cb=()=>this.update(t);this.rO=new ResizeObserver(this.cb);this.mO=new MutationObserver((()=>this.on(this.el)))}on(t){if(this.el){this.el.removeEventListener("scroll",this.cb);this.rO.disconnect();this.mO.disconnect()}if(t){if("TABLE"===t.nodeName&&!/scroll|auto/.test(getComputedStyle(t).getPropertyValue("overflow"))){this.rO.observe(t);t=t.tBodies[0]}t.addEventListener("scroll",this.cb);[t,...t.children].forEach((t=>this.rO.observe(t)));this.mO.observe(t,{childList:true});this.el=t}}update(t){let e=`--t: ${this.el.scrollTop}px; --b: ${this.el.scrollHeight-this.el.offsetHeight-this.el.scrollTop}px; --l: ${this.el.scrollLeft}px; --r: ${this.el.scrollWidth-this.el.offsetWidth-this.el.scrollLeft}px;`;if("TBODY"===this.el.nodeName){const t=this.el.getBoundingClientRect();const s=this.el.parentElement.getBoundingClientRect();e+=`top: ${t.top-s.top}px; bottom: ${s.bottom-t.bottom}px; left: ${t.left-s.left}px; right: ${s.right-t.right}px;`}requestAnimationFrame((()=>{t.style.cssText=e}))}};"customElements"in window&&"ResizeObserver"in window&&customElements.define("scroll-shadow",s);export{s as ScrollShadowElement};
2
+
metadata ADDED
@@ -0,0 +1,300 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: epages-essence
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Unai Abrisketa
8
+ - Kenneth Gallego
9
+ - Kathia Andrea Salazar
10
+ - Andres Bernardi
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2024-10-16 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: country_select
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '10.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '10.0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: gretel
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: '5.0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '5.0'
44
+ - !ruby/object:Gem::Dependency
45
+ name: importmap-rails
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '2.0'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '2.0'
58
+ - !ruby/object:Gem::Dependency
59
+ name: inline_svg
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '1.10'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.10'
72
+ - !ruby/object:Gem::Dependency
73
+ name: rails
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 7.1.4
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 7.1.4
86
+ - !ruby/object:Gem::Dependency
87
+ name: sassc-rails
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '2.1'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.1'
100
+ - !ruby/object:Gem::Dependency
101
+ name: simple_form
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '5.3'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '5.3'
114
+ - !ruby/object:Gem::Dependency
115
+ name: stimulus-rails
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '1.3'
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '1.3'
128
+ - !ruby/object:Gem::Dependency
129
+ name: view_component
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '3.17'
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '3.17'
142
+ description: |2
143
+ Essence is an open-source framework that provides ViewComponents,
144
+ form styles and other functionality for appsdesigned and developed for the
145
+ online shop software Beyond
146
+ email:
147
+ - uabrisketa@epages.com
148
+ - kgallego@epages.com
149
+ - ksalazar@epages.com
150
+ - abernardi@epages.com
151
+ executables: []
152
+ extensions: []
153
+ extra_rdoc_files: []
154
+ files:
155
+ - LICENSE
156
+ - README.md
157
+ - Rakefile
158
+ - app/assets/config/essence_manifest.js
159
+ - app/assets/images/essence/icon_component/arrow_up_right_from_square.svg
160
+ - app/assets/images/essence/icon_component/circle_check.svg
161
+ - app/assets/images/essence/icon_component/circle_exclamation.svg
162
+ - app/assets/images/essence/icon_component/circle_info.svg
163
+ - app/assets/images/essence/icon_component/circle_quote.svg
164
+ - app/assets/images/essence/icon_component/circle_xmark.svg
165
+ - app/assets/images/essence/icon_component/copy.svg
166
+ - app/assets/images/essence/icon_component/download.svg
167
+ - app/assets/images/essence/icon_component/eye.svg
168
+ - app/assets/images/essence/icon_component/filter.svg
169
+ - app/assets/images/essence/icon_component/greater_than.svg
170
+ - app/assets/images/essence/icon_component/grid_2.svg
171
+ - app/assets/images/essence/icon_component/home.svg
172
+ - app/assets/images/essence/icon_component/link_slash.svg
173
+ - app/assets/images/essence/icon_component/pencil.svg
174
+ - app/assets/images/essence/icon_component/plus.svg
175
+ - app/assets/images/essence/icon_component/sort.svg
176
+ - app/assets/images/essence/icon_component/sort_down.svg
177
+ - app/assets/images/essence/icon_component/sort_up.svg
178
+ - app/assets/images/essence/icon_component/trash.svg
179
+ - app/assets/images/essence/icon_component/upload.svg
180
+ - app/assets/images/essence/icon_component/wand_magic_sparkles.svg
181
+ - app/assets/stylesheets/essence/beyond.scss
182
+ - app/assets/stylesheets/essence/beyond/_base.scss
183
+ - app/assets/stylesheets/essence/beyond/components/_index.scss
184
+ - app/assets/stylesheets/essence/beyond/layout/_content.scss
185
+ - app/assets/stylesheets/essence/beyond/layout/_index.scss
186
+ - app/assets/stylesheets/essence/beyond/simple_form/_control.scss
187
+ - app/assets/stylesheets/essence/beyond/simple_form/_error.scss
188
+ - app/assets/stylesheets/essence/beyond/simple_form/_fieldset.scss
189
+ - app/assets/stylesheets/essence/beyond/simple_form/_group.scss
190
+ - app/assets/stylesheets/essence/beyond/simple_form/_hint.scss
191
+ - app/assets/stylesheets/essence/beyond/simple_form/_index.scss
192
+ - app/assets/stylesheets/essence/beyond/simple_form/_label.scss
193
+ - app/assets/stylesheets/essence/beyond/simple_form/_wrapper.scss
194
+ - app/components/essence/action_bar_component.rb
195
+ - app/components/essence/action_bar_component/action_bar_component.html.erb
196
+ - app/components/essence/action_bar_component/action_bar_component.scss
197
+ - app/components/essence/app_info_component.rb
198
+ - app/components/essence/app_info_component/app_info_component.html.erb
199
+ - app/components/essence/app_info_component/app_info_component.scss
200
+ - app/components/essence/application_component.rb
201
+ - app/components/essence/breadcrumb_component.rb
202
+ - app/components/essence/breadcrumb_component/breadcrumb_component.html.erb
203
+ - app/components/essence/breadcrumb_component/breadcrumb_component.scss
204
+ - app/components/essence/button_component.rb
205
+ - app/components/essence/button_component/button_component.html.erb
206
+ - app/components/essence/button_component/button_component.scss
207
+ - app/components/essence/card_component.rb
208
+ - app/components/essence/card_component/card_component.html.erb
209
+ - app/components/essence/card_component/card_component.scss
210
+ - app/components/essence/clipboard_copy_component.rb
211
+ - app/components/essence/clipboard_copy_component/clipboard_copy_component.html.erb
212
+ - app/components/essence/clipboard_copy_component/clipboard_copy_component.scss
213
+ - app/components/essence/clipboard_copy_component/clipboard_copy_component.yml
214
+ - app/components/essence/clipboard_copy_component/clipboard_copy_component_controller.js
215
+ - app/components/essence/empty_state_component.rb
216
+ - app/components/essence/empty_state_component/empty_state_component.html.erb
217
+ - app/components/essence/empty_state_component/empty_state_component.scss
218
+ - app/components/essence/icon_component.rb
219
+ - app/components/essence/icon_component/icon_component.html.erb
220
+ - app/components/essence/link_component.rb
221
+ - app/components/essence/link_component/link_component.html.erb
222
+ - app/components/essence/link_component/link_component.scss
223
+ - app/components/essence/notification_component.rb
224
+ - app/components/essence/notification_component/notification_component.html.erb
225
+ - app/components/essence/notification_component/notification_component.scss
226
+ - app/components/essence/paragraph_component.rb
227
+ - app/components/essence/paragraph_component/paragraph_component.html.erb
228
+ - app/components/essence/paragraph_component/paragraph_component.scss
229
+ - app/components/essence/paragraph_component/paragraph_component_controller.js
230
+ - app/components/essence/scroll_shadow_component.rb
231
+ - app/components/essence/scroll_shadow_component/scroll_shadow_component.html.erb
232
+ - app/components/essence/scroll_shadow_component/scroll_shadow_component.scss
233
+ - app/components/essence/spinner_component.rb
234
+ - app/components/essence/spinner_component/spinner_component.html.erb
235
+ - app/components/essence/spinner_component/spinner_component.scss
236
+ - app/components/essence/status_component.rb
237
+ - app/components/essence/status_component/status_component.html.erb
238
+ - app/components/essence/status_component/status_component.scss
239
+ - app/components/essence/step_list_component.rb
240
+ - app/components/essence/step_list_component/item_component.html.erb
241
+ - app/components/essence/step_list_component/step_list_component.html.erb
242
+ - app/components/essence/step_list_component/step_list_component.scss
243
+ - app/components/essence/table_component.rb
244
+ - app/components/essence/table_component/table_component.html.erb
245
+ - app/components/essence/table_component/table_component.scss
246
+ - app/components/essence/title_component.rb
247
+ - app/components/essence/title_component/title_component.html.erb
248
+ - app/components/essence/title_component/title_component.scss
249
+ - app/components/essence/tooltip_component.rb
250
+ - app/components/essence/tooltip_component/tooltip_component.html.erb
251
+ - app/components/essence/tooltip_component/tooltip_component.scss
252
+ - app/components/essence/tooltip_component/tooltip_component_controller.js
253
+ - app/helpers/essence/fetch_or_fallback_helper.rb
254
+ - app/inputs/essence/toggle_input.rb
255
+ - app/javascript/essence/application.js
256
+ - app/javascript/essence/controllers/application.js
257
+ - app/javascript/essence/controllers/index.js
258
+ - app/views/essence/beyond/body.html.erb
259
+ - config/importmap.rb
260
+ - config/initializers/essence/simple_form.rb
261
+ - config/locales/essence.en.yml
262
+ - lib/epages/essence.rb
263
+ - lib/essence.rb
264
+ - lib/essence/engine.rb
265
+ - lib/essence/utils.rb
266
+ - lib/essence/version.rb
267
+ - lib/tasks/essence_tasks.rake
268
+ - vendor/javascript/@floating-ui--core.js
269
+ - vendor/javascript/@floating-ui--dom.js
270
+ - vendor/javascript/@floating-ui--utils--dom.js
271
+ - vendor/javascript/@floating-ui--utils.js
272
+ - vendor/javascript/scroll-shadow-element.js
273
+ homepage: https://github.com/ePages-de/essence
274
+ licenses:
275
+ - MIT
276
+ metadata:
277
+ allowed_push_host: https://rubygems.org
278
+ homepage_uri: https://github.com/ePages-de/essence
279
+ source_code_uri: https://github.com/ePages-de/essence
280
+ rubygems_mfa_required: 'true'
281
+ post_install_message:
282
+ rdoc_options: []
283
+ require_paths:
284
+ - lib
285
+ required_ruby_version: !ruby/object:Gem::Requirement
286
+ requirements:
287
+ - - ">="
288
+ - !ruby/object:Gem::Version
289
+ version: '3.3'
290
+ required_rubygems_version: !ruby/object:Gem::Requirement
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ version: '0'
295
+ requirements: []
296
+ rubygems_version: 3.5.21
297
+ signing_key:
298
+ specification_version: 4
299
+ summary: ViewComponents for ePages's online shop software Beyond
300
+ test_files: []