From 305da70f66d28675d2d3dd5ad67bdc1f579f62be Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Mon, 8 Apr 2024 09:37:21 -0700 Subject: [PATCH 01/13] more work on consumer flow --- app/javascript/css/main.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/javascript/css/main.scss b/app/javascript/css/main.scss index e56dd7fafc4..06275ea71ce 100644 --- a/app/javascript/css/main.scss +++ b/app/javascript/css/main.scss @@ -316,6 +316,10 @@ ul.list-right-section { .navbar-brand img { padding-left: $spacer / 2; } + + .sm-hide { + display: none; + } } // large breakpoint From 0dda57212884d251b3165c4309d190f636d758bf Mon Sep 17 00:00:00 2001 From: Sarah Austin Date: Wed, 28 Feb 2024 16:35:22 -0500 Subject: [PATCH 02/13] upgrade to bs4 base --- .../javascripts/jquery.selectric.min.js | 2 -- app/javascript/css/main.scss | 21 ++++++++++++++++ app/views/layouts/application.html.erb | 5 ++-- app/views/layouts/single_column.html.erb | 25 ++++++++++--------- app/views/layouts/two_column.html.erb | 18 +++++++------ .../javascripts/jquery.selectric.min.js | 2 -- 6 files changed, 48 insertions(+), 25 deletions(-) diff --git a/app/assets/javascripts/jquery.selectric.min.js b/app/assets/javascripts/jquery.selectric.min.js index 7c4c02d2b55..e69de29bb2d 100755 --- a/app/assets/javascripts/jquery.selectric.min.js +++ b/app/assets/javascripts/jquery.selectric.min.js @@ -1,2 +0,0 @@ -/*! Selectric ϟ v1.13.0 (2017-08-22) - git.io/tjl9sQ - Copyright (c) 2017 Leonardo Santos - MIT License */ -!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,s){return void 0===s&&(s="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(s),s}:e(jQuery)}(function(e){"use strict";var t=e(document),s=e(window),l=["a","e","i","o","u","n","c","y"],i=[/[\xE0-\xE5]/g,/[\xE8-\xEB]/g,/[\xEC-\xEF]/g,/[\xF2-\xF6]/g,/[\xF9-\xFC]/g,/[\xF1]/g,/[\xE7]/g,/[\xFD-\xFF]/g],n=function(t,s){var l=this;l.element=t,l.$element=e(t),l.state={multiple:!!l.$element.attr("multiple"),enabled:!1,opened:!1,currValue:-1,selectedIdx:-1,highlightedIdx:-1},l.eventTriggers={open:l.open,close:l.close,destroy:l.destroy,refresh:l.refresh,init:l.init},l.init(s)};n.prototype={utils:{isMobile:function(){return/android|ip(hone|od|ad)/i.test(navigator.userAgent)},escapeRegExp:function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},replaceDiacritics:function(e){for(var t=i.length;t--;)e=e.toLowerCase().replace(i[t],l[t]);return e},format:function(e){var t=arguments;return(""+e).replace(/\{(?:(\d+)|(\w+))\}/g,function(e,s,l){return l&&t[1]?t[1][l]:t[s]})},nextEnabledItem:function(e,t){for(;e[t=(t+1)%e.length].disabled;);return t},previousEnabledItem:function(e,t){for(;e[t=(t>0?t:e.length)-1].disabled;);return t},toDash:function(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()},triggerCallback:function(t,s){var l=s.element,i=s.options["on"+t],n=[l].concat([].slice.call(arguments).slice(1));e.isFunction(i)&&i.apply(l,n),e(l).trigger("selectric-"+this.toDash(t),n)},arrayToClassname:function(t){var s=e.grep(t,function(e){return!!e});return e.trim(s.join(" "))}},init:function(t){var s=this;if(s.options=e.extend(!0,{},e.fn.selectric.defaults,s.options,t),s.utils.triggerCallback("BeforeInit",s),s.destroy(!0),s.options.disableOnMobile&&s.utils.isMobile())return void(s.disableOnMobile=!0);s.classes=s.getClassNames();var l=e("",{class:s.classes.input,readonly:s.utils.isMobile()}),i=e("
",{class:s.classes.items,tabindex:-1}),n=e("
",{class:s.classes.scroll}),a=e("
",{class:s.classes.prefix,html:s.options.arrowButtonMarkup}),o=e("",{class:"label"}),r=s.$element.wrap("
").parent().append(a.prepend(o),i,l),u=e("
",{class:s.classes.hideselect});s.elements={input:l,items:i,itemsScroll:n,wrapper:a,label:o,outerWrapper:r},s.options.nativeOnMobile&&s.utils.isMobile()&&(s.elements.input=void 0,u.addClass(s.classes.prefix+"-is-native"),s.$element.on("change",function(){s.refresh()})),s.$element.on(s.eventTriggers).wrap(u),s.originalTabindex=s.$element.prop("tabindex"),s.$element.prop("tabindex",-1),s.populate(),s.activate(),s.utils.triggerCallback("Init",s)},activate:function(){var e=this,t=e.elements.items.closest(":visible").children(":hidden").addClass(e.classes.tempshow),s=e.$element.width();t.removeClass(e.classes.tempshow),e.utils.triggerCallback("BeforeActivate",e),e.elements.outerWrapper.prop("class",e.utils.arrayToClassname([e.classes.wrapper,e.$element.prop("class").replace(/\S+/g,e.classes.prefix+"-$&"),e.options.responsive?e.classes.responsive:""])),e.options.inheritOriginalWidth&&s>0&&e.elements.outerWrapper.width(s),e.unbindEvents(),e.$element.prop("disabled")?(e.elements.outerWrapper.addClass(e.classes.disabled),e.elements.input&&e.elements.input.prop("disabled",!0)):(e.state.enabled=!0,e.elements.outerWrapper.removeClass(e.classes.disabled),e.$li=e.elements.items.removeAttr("style").find("li"),e.bindEvents()),e.utils.triggerCallback("Activate",e)},getClassNames:function(){var t=this,s=t.options.customClass,l={};return e.each("Input Items Open Disabled TempShow HideSelect Wrapper Focus Hover Responsive Above Below Scroll Group GroupLabel".split(" "),function(e,i){var n=s.prefix+i;l[i.toLowerCase()]=s.camelCase?n:t.utils.toDash(n)}),l.prefix=s.prefix,l},setLabel:function(){var t=this,s=t.options.labelBuilder;if(t.state.multiple){var l=e.isArray(t.state.currValue)?t.state.currValue:[t.state.currValue];l=0===l.length?[0]:l;var i=e.map(l,function(s){return e.grep(t.lookupItems,function(e){return e.index===s})[0]});i=e.grep(i,function(t){return i.length>1||0===i.length?""!==e.trim(t.value):t}),i=e.map(i,function(l){return e.isFunction(s)?s(l):t.utils.format(s,l)}),t.options.multiple.maxLabelEntries&&(i.length>=t.options.multiple.maxLabelEntries+1?(i=i.slice(0,t.options.multiple.maxLabelEntries),i.push(e.isFunction(s)?s({text:"..."}):t.utils.format(s,{text:"..."}))):i.slice(i.length-1)),t.elements.label.html(i.join(t.options.multiple.separator))}else{var n=t.lookupItems[t.state.currValue];t.elements.label.html(e.isFunction(s)?s(n):t.utils.format(s,n))}},populate:function(){var t=this,s=t.$element.children(),l=t.$element.find("option"),i=l.filter(":selected"),n=l.index(i),a=0,o=t.state.multiple?[]:0;i.length>1&&t.state.multiple&&(n=[],i.each(function(){n.push(e(this).index())})),t.state.currValue=~n?n:o,t.state.selectedIdx=t.state.currValue,t.state.highlightedIdx=t.state.currValue,t.items=[],t.lookupItems=[],s.length&&(s.each(function(s){var l=e(this);if(l.is("optgroup")){var i={element:l,label:l.prop("label"),groupDisabled:l.prop("disabled"),items:[]};l.children().each(function(s){var l=e(this);i.items[s]=t.getItemData(a,l,i.groupDisabled||l.prop("disabled")),t.lookupItems[a]=i.items[s],a++}),t.items[s]=i}else t.items[s]=t.getItemData(a,l,l.prop("disabled")),t.lookupItems[a]=t.items[s],a++}),t.setLabel(),t.elements.items.append(t.elements.itemsScroll.html(t.getItemsMarkup(t.items))))},getItemData:function(t,s,l){var i=this;return{index:t,element:s,value:s.val(),className:s.prop("class"),text:s.html(),slug:e.trim(i.utils.replaceDiacritics(s.html())),alt:s.attr("data-alt"),selected:s.prop("selected"),disabled:l}},getItemsMarkup:function(t){var s=this,l="
    ";return e.isFunction(s.options.listBuilder)&&s.options.listBuilder&&(t=s.options.listBuilder(t)),e.each(t,function(t,i){void 0!==i.label?(l+=s.utils.format('
    • {3}
    • ',s.utils.arrayToClassname([s.classes.group,i.groupDisabled?"disabled":"",i.element.prop("class")]),s.classes.grouplabel,i.element.prop("label")),e.each(i.items,function(e,t){l+=s.getItemMarkup(t.index,t)}),l+="
    "):l+=s.getItemMarkup(i.index,i)}),l+"
"},getItemMarkup:function(t,s){var l=this,i=l.options.optionsItemBuilder,n={value:s.value,text:s.text,slug:s.slug,index:s.index};return l.utils.format('
  • {3}
  • ',t,l.utils.arrayToClassname([s.className,t===l.items.length-1?"last":"",s.disabled?"disabled":"",s.selected?"selected":""]),e.isFunction(i)?l.utils.format(i(s,this.$element,t),s):l.utils.format(i,n))},unbindEvents:function(){var e=this;e.elements.wrapper.add(e.$element).add(e.elements.outerWrapper).add(e.elements.input).off(".sl")},bindEvents:function(){var t=this;t.elements.outerWrapper.on("mouseenter.sl mouseleave.sl",function(s){e(this).toggleClass(t.classes.hover,"mouseenter"===s.type),t.options.openOnHover&&(clearTimeout(t.closeTimer),"mouseleave"===s.type?t.closeTimer=setTimeout(e.proxy(t.close,t),t.options.hoverIntentTimeout):t.open())}),t.elements.wrapper.on("click.sl",function(e){t.state.opened?t.close():t.open(e)}),t.options.nativeOnMobile&&t.utils.isMobile()||(t.$element.on("focus.sl",function(){t.elements.input.focus()}),t.elements.input.prop({tabindex:t.originalTabindex,disabled:!1}).on("keydown.sl",e.proxy(t.handleKeys,t)).on("focusin.sl",function(e){t.elements.outerWrapper.addClass(t.classes.focus),t.elements.input.one("blur",function(){t.elements.input.blur()}),t.options.openOnFocus&&!t.state.opened&&t.open(e)}).on("focusout.sl",function(){t.elements.outerWrapper.removeClass(t.classes.focus)}).on("input propertychange",function(){var s=t.elements.input.val(),l=new RegExp("^"+t.utils.escapeRegExp(s),"i");clearTimeout(t.resetStr),t.resetStr=setTimeout(function(){t.elements.input.val("")},t.options.keySearchTimeout),s.length&&e.each(t.items,function(e,s){if(!s.disabled){if(l.test(s.text)||l.test(s.slug))return void t.highlight(e);if(s.alt)for(var i=s.alt.split("|"),n=0;n-1,a=e.inArray(l,i.next)>-1,o=e.inArray(l,i.select)>-1,r=e.inArray(l,i.open)>-1,u=s.state.highlightedIdx,p=n&&0===u||a&&u+1===s.items.length,c=0;if(13!==l&&32!==l||t.preventDefault(),n||a){if(!s.options.allowWrap&&p)return;n&&(c=s.utils.previousEnabledItem(s.lookupItems,u)),a&&(c=s.utils.nextEnabledItem(s.lookupItems,u)),s.highlight(c)}if(o&&s.state.opened)return s.select(u),void(s.state.multiple&&s.options.multiple.keepMenuOpen||s.close());r&&!s.state.opened&&s.open()},refresh:function(){var e=this;e.populate(),e.activate(),e.utils.triggerCallback("Refresh",e)},setOptionsDimensions:function(){var e=this,t=e.elements.items.closest(":visible").children(":hidden").addClass(e.classes.tempshow),s=e.options.maxHeight,l=e.elements.items.outerWidth(),i=e.elements.wrapper.outerWidth()-(l-e.elements.items.width());!e.options.expandToItemText||i>l?e.finalWidth=i:(e.elements.items.css("overflow","scroll"),e.elements.outerWrapper.width(9e4),e.finalWidth=e.elements.items.width(),e.elements.items.css("overflow",""),e.elements.outerWrapper.width("")),e.elements.items.width(e.finalWidth).height()>s&&e.elements.items.height(s),t.removeClass(e.classes.tempshow)},isInViewport:function(){var e=this;if(!0===e.options.forceRenderAbove)e.elements.outerWrapper.addClass(e.classes.above);else if(!0===e.options.forceRenderBelow)e.elements.outerWrapper.addClass(e.classes.below);else{var t=s.scrollTop(),l=s.height(),i=e.elements.outerWrapper.offset().top,n=e.elements.outerWrapper.outerHeight(),a=i+n+e.itemsHeight<=t+l,o=i-e.itemsHeight>t,r=!a&&o,u=!r;e.elements.outerWrapper.toggleClass(e.classes.above,r),e.elements.outerWrapper.toggleClass(e.classes.below,u)}},detectItemVisibility:function(t){var s=this,l=s.$li.filter("[data-index]");s.state.multiple&&(t=e.isArray(t)&&0===t.length?0:t,t=e.isArray(t)?Math.min.apply(Math,t):t);var i=l.eq(t).outerHeight(),n=l[t].offsetTop,a=s.elements.itemsScroll.scrollTop(),o=n+2*i;s.elements.itemsScroll.scrollTop(o>a+s.itemsHeight?o-s.itemsHeight:n-i0)&&t.preventDefault()}),l.detectItemVisibility(l.state.selectedIdx),l.highlight(l.state.multiple?-1:l.state.selectedIdx),l.utils.triggerCallback("Open",l))},close:function(){var e=this;e.utils.triggerCallback("BeforeClose",e),t.off(".sl"),e.elements.outerWrapper.removeClass(e.classes.open),e.state.opened=!1,e.utils.triggerCallback("Close",e)},change:function(){var t=this;t.utils.triggerCallback("BeforeChange",t),t.state.multiple?(e.each(t.lookupItems,function(e){t.lookupItems[e].selected=!1,t.$element.find("option").prop("selected",!1)}),e.each(t.state.selectedIdx,function(e,s){t.lookupItems[s].selected=!0,t.$element.find("option").eq(s).prop("selected",!0)}),t.state.currValue=t.state.selectedIdx,t.setLabel(),t.utils.triggerCallback("Change",t)):t.state.currValue!==t.state.selectedIdx&&(t.$element.prop("selectedIndex",t.state.currValue=t.state.selectedIdx).data("value",t.lookupItems[t.state.selectedIdx].text),t.setLabel(),t.utils.triggerCallback("Change",t))},highlight:function(e){var t=this,s=t.$li.filter("[data-index]").removeClass("highlighted");t.utils.triggerCallback("BeforeHighlight",t),void 0===e||-1===e||t.lookupItems[e].disabled||(s.eq(t.state.highlightedIdx=e).addClass("highlighted"),t.detectItemVisibility(e),t.utils.triggerCallback("Highlight",t))},select:function(t){var s=this,l=s.$li.filter("[data-index]");if(s.utils.triggerCallback("BeforeSelect",s,t),void 0!==t&&-1!==t&&!s.lookupItems[t].disabled){if(s.state.multiple){s.state.selectedIdx=e.isArray(s.state.selectedIdx)?s.state.selectedIdx:[s.state.selectedIdx];var i=e.inArray(t,s.state.selectedIdx);-1!==i?s.state.selectedIdx.splice(i,1):s.state.selectedIdx.push(t),l.removeClass("selected").filter(function(t){return-1!==e.inArray(t,s.state.selectedIdx)}).addClass("selected")}else l.removeClass("selected").eq(s.state.selectedIdx=t).addClass("selected");s.state.multiple&&s.options.multiple.keepMenuOpen||s.close(),s.change(),s.utils.triggerCallback("Select",s,t)}},destroy:function(e){var t=this;t.state&&t.state.enabled&&(t.elements.items.add(t.elements.wrapper).add(t.elements.input).remove(),e||t.$element.removeData("selectric").removeData("value"),t.$element.prop("tabindex",t.originalTabindex).off(".sl").off(t.eventTriggers).unwrap().unwrap(),t.state.enabled=!1)}},e.fn.selectric=function(t){return this.each(function(){var s=e.data(this,"selectric");s&&!s.disableOnMobile?"string"==typeof t&&s[t]?s[t]():s.init(t):e.data(this,"selectric",new n(this,t))})},e.fn.selectric.defaults={onChange:function(t){e(t).change()},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'',disableOnMobile:!1,nativeOnMobile:!0,openOnFocus:!0,openOnHover:!1,hoverIntentTimeout:500,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,allowWrap:!0,forceRenderAbove:!1,forceRenderBelow:!1,stopPropagation:!0,optionsItemBuilder:"{text}",labelBuilder:"{text}",listBuilder:!1,keys:{previous:[37,38],next:[39,40],select:[9,13,27],open:[13,32,37,38,39,40],close:[9,27]},customClass:{prefix:"selectric",camelCase:!1},multiple:{separator:", ",keepMenuOpen:!0,maxLabelEntries:!1}}}); \ No newline at end of file diff --git a/app/javascript/css/main.scss b/app/javascript/css/main.scss index 06275ea71ce..ffd2e2b4ffa 100644 --- a/app/javascript/css/main.scss +++ b/app/javascript/css/main.scss @@ -547,3 +547,24 @@ a.disabled { color: var(--grey-130); font-weight: 600; } + +.nav-stacked li { + padding: $spacer; + margin-bottom: ($spacer * .25); + width: 100%; + background: var(--grey-010); + color: var(--info-color); + a { + color: var(--info-color); + } + &.activer { + background: var(--info-color); + color: var(--grey-000); + a { + color: var(--grey-000); + } + } + &.active { + @extend .font-weight-bold; + } +} diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 8a896efcd7d..38efffc3bc8 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -51,7 +51,7 @@ - <%= render partial: './ui-components/v1/navs/header' %> + <%= render partial: './ui-components/bs4/v1/navs/header' %>
    <% if aca_security_questions %> @@ -73,7 +73,8 @@ <% if EnrollRegistry.feature_enabled?(:live_chat_widget) %> <%= render "shared/customer_support/live_chat_widget" %> <% end %> - <%= render partial: './ui-components/v1/layouts/footer' %> + + <%= render partial: './ui-components/bs4/v1/footers/footer' %> diff --git a/app/views/layouts/single_column.html.erb b/app/views/layouts/single_column.html.erb index 739ae3a00fd..dc366feae18 100644 --- a/app/views/layouts/single_column.html.erb +++ b/app/views/layouts/single_column.html.erb @@ -7,7 +7,8 @@ <%= favicon_link_tag Settings.site.tab_icon, :rel => 'shortcut icon', :type => 'image/vnd.microsoft.icon' %> <%= content_for?(:title) ? yield(:title) : "Welcome to #{site_short_name} | #{site_short_name}" %> - <%= stylesheet_link_tag "application", :media => "all" %> + + <%= javascript_pack_tag 'application' %> <%= javascript_include_tag "application" %> <%= stylesheet_pack_tag 'application', media: "all" %> @@ -28,35 +29,35 @@ - - + + + <%= render "layouts/analytics" if ENV['GA_TRACKING_ID'].present? %> - <%= yield :head %> + <%= yield :head %> + <% if EnrollRegistry.feature_enabled?(:live_chat_widget) %> <%= render "shared/customer_support/live_chat_scripts" unless EnrollRegistry.feature_enabled?(:external_qna_bot) %> <% end %> - - <%= render partial: './ui-components/v1/navs/header' %> <%= yield :horizontal_menu %> <%= render_flash %> <%= render 'users/security_question_responses/modal' %>
    - - <%= yield %> + <%= yield %>
    + <% if EnrollRegistry.feature_enabled?(:live_chat_widget) %> <%= render "shared/customer_support/live_chat_widget" %> <% end %> - <%= render partial: './ui-components/v1/layouts/footer' %> + <%= render partial: './ui-components/bs4/v1/footers/footer' %> diff --git a/app/views/layouts/two_column.html.erb b/app/views/layouts/two_column.html.erb index f2e4a04f3da..3b7001d4fa3 100644 --- a/app/views/layouts/two_column.html.erb +++ b/app/views/layouts/two_column.html.erb @@ -7,8 +7,11 @@ <%= favicon_link_tag Settings.site.tab_icon, :rel => 'shortcut icon', :type => 'image/vnd.microsoft.icon' %> <%= content_for?(:title) ? yield(:title) : "Welcome to #{site_short_name} | #{site_short_name}" %> - <%= stylesheet_link_tag "application", :media => "all" %> + + <%= javascript_pack_tag 'application' %> <%= javascript_include_tag "application" %> + <%= stylesheet_pack_tag 'application', media: "all" %> + <%= javascript_pack_tag ENV['CLIENT'] %> <%= stylesheet_pack_tag ENV['CLIENT'] %> <%= javascript_pack_tag 'legacy', 'data-turbolinks-track': 'reload' %> @@ -28,11 +31,12 @@ - - + + + <%= yield :head %> @@ -53,7 +57,7 @@
    - <%= render partial: './ui-components/v1/layouts/footer' %> + <%= render partial: './ui-components/bs4/v1/footers/footer' %> diff --git a/vendor/assets/javascripts/jquery.selectric.min.js b/vendor/assets/javascripts/jquery.selectric.min.js index 6695ee862de..e69de29bb2d 100755 --- a/vendor/assets/javascripts/jquery.selectric.min.js +++ b/vendor/assets/javascripts/jquery.selectric.min.js @@ -1,2 +0,0 @@ -/*! Selectric ϟ v1.9.2 (2015-04-07) - git.io/tjl9sQ - Copyright (c) 2015 Leonardo Santos - Dual licensed: MIT/GPL */ -!function(e){"use strict";var t="selectric",s="Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll Group GroupLabel",o=".sl",i={onChange:function(t){e(t).change()},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'',disableOnMobile:!0,openOnHover:!1,hoverIntentTimeout:500,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,allowWrap:!0,customClass:{prefix:t,camelCase:!1,overwrite:!0},optionsItemBuilder:"{text}",labelBuilder:"{text}"},n={add:function(e,t,s){this[e]||(this[e]={}),this[e][t]=s},remove:function(e,t){delete this[e][t]}},l={replaceDiacritics:function(e){for(var t="40-46 50-53 54-57 62-70 71-74 61 47 77".replace(/\d+/g,"\\3$&").split(" "),s=t.length;s--;)e=e.toLowerCase().replace(RegExp("["+t[s]+"]","g"),"aeiouncy".charAt(s));return e},format:function(e){var t=arguments;return(""+e).replace(/{(\d+|(\w+))}/g,function(e,s,o){return o&&t[1]?t[1][o]:t[s]})},nextEnabledItem:function(e,t){for(;e[t=(t+1)%e.length].disabled;);return t},previousEnabledItem:function(e,t){for(;e[t=(t>0?t:e.length)-1].disabled;);return t},toDash:function(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},triggerCallback:function(s,o){var i=o.element,a=o.options["on"+s];e.isFunction(a)&&a.call(i,i,o),n[s]&&e.each(n[s],function(){this.call(i,i,o)}),e(i).trigger(t+"-"+l.toDash(s),o)}},a=e(document),r=e(window),c=function(n,c){function d(t){if(j.options=e.extend(!0,{},i,j.options,t),j.classes={},j.element=n,l.triggerCallback("BeforeInit",j),j.options.disableOnMobile&&Y)return void(j.disableOnMobile=!0);C(!0);var o=j.options.customClass,a=s.split(" "),r=F.width();e.each(a,function(e,t){var s=o.prefix+t;j.classes[t.toLowerCase()]=o.camelCase?s:l.toDash(s)}),x=e("",{"class":j.classes.input,readonly:Y}),k=e("
    ",{"class":j.classes.items,tabindex:-1}),T=e("
    ",{"class":j.classes.scroll}),D=e("
    ",{"class":o.prefix,html:j.options.arrowButtonMarkup}),I=e('

    '),y=F.wrap("

    ").parent().append(D.prepend(I),k,x),A={open:m,close:g,destroy:C,refresh:u,init:d},F.on(A).wrap('
    '),e.extend(j,A),$=j.options.labelBuilder,j.options.inheritOriginalWidth&&r>0&&y.width(r),p()}function p(){j.items=[];var t=F.children(),s="
      ",i=t.filter(":selected").index(),n=0;B=S=~i?i:0,(E=t.length)&&(t.each(function(){function t(){var t=e(this),o=t.html(),i=t.prop("disabled"),a=j.options.optionsItemBuilder;j.items[n]={element:t,value:t.val(),text:o,slug:l.replaceDiacritics(o),disabled:i},s+=l.format('
    • {3}
    • ',n,e.trim([n==B?"selected":"",n==E-1?"last":"",i?"disabled":""].join(" ")),e.isFunction(a)?a(j.items[n],t,n):l.format(a,j.items[n])),n++}var o=e(this);if(o.is("optgroup")){var i=o.prop("disabled"),a=o.children();s+=l.format('
      • {3}
      • ',e.trim([j.classes.group,i?"disabled":"",o.prop("class")].join(" ")),j.classes.grouplabel,o.prop("label")),i&&a.prop("disabled",!0),a.each(t),s+="
      "}else t.call(o)}),k.append(T.html(s+"
    ")),I.html(e.isFunction($)?$(j.items[B]):l.format($,j.items[B]))),D.add(F).add(y).add(x).off(o),y.prop("class",[j.classes.wrapper,j.options.customClass.overwrite?F.prop("class").replace(/\S+/g,j.options.customClass.prefix+"-$&"):F.prop("class"),j.options.responsive?j.classes.responsive:""].join(" ")),F.prop("disabled")?(y.addClass(j.classes.disabled),x.prop("disabled",!0)):(R=!0,y.removeClass(j.classes.disabled).on("mouseenter"+o+" mouseleave"+o,function(t){e(this).toggleClass(j.classes.hover),j.options.openOnHover&&(clearTimeout(j.closeTimer),"mouseleave"==t.type?j.closeTimer=setTimeout(g,j.options.hoverIntentTimeout):m())}),D.on("click"+o,function(e){L?g():m(e)}),x.prop({tabindex:P,disabled:!1}).on("keypress"+o,h).on("keydown"+o,function(e){h(e),clearTimeout(j.resetStr),j.resetStr=setTimeout(function(){x.val("")},j.options.keySearchTimeout);var t=e.keyCode||e.which;if(t>36&&41>t){if(!j.options.allowWrap&&(39>t&&0==S||t>38&&S+1==j.items.length))return;b(l[(39>t?"previous":"next")+"EnabledItem"](j.items,S))}}).on("focusin"+o,function(e){x.one("blur",function(){x.blur()}),L||m(e)}).on("oninput"in x[0]?"input":"keyup",function(){x.val().length&&e.each(j.items,function(e,t){return RegExp("^"+x.val(),"i").test(t.slug)&&!t.disabled?(b(e),!1):void 0})}),F.prop("tabindex",!1),O=e("li",k.removeAttr("style")).on({mousedown:function(e){e.preventDefault(),e.stopPropagation()},click:function(){return b(e(this).data("index"),!0),!1}}).filter("[data-index]")),l.triggerCallback("Init",j)}function u(){l.triggerCallback("Refresh",j),p()}function h(e){var t=e.keyCode||e.which;13==t&&e.preventDefault(),/^(9|13|27)$/.test(t)&&(e.stopPropagation(),b(S,!0))}function f(){var e=k.closest(":visible").children(":hidden").addClass(j.classes.tempshow),t=j.options.maxHeight,s=k.outerWidth(),o=D.outerWidth()-(s-k.width());!j.options.expandToItemText||o>s?M=o:(k.css("overflow","scroll"),y.width(9e4),M=k.width(),k.css("overflow",""),y.width("")),k.width(M).height()>t&&k.height(t),e.removeClass(j.classes.tempshow)}function m(s){l.triggerCallback("BeforeOpen",j),s&&(s.preventDefault(),s.stopPropagation()),R&&(f(),e("."+j.classes.hideselect,"."+j.classes.open).children()[t]("close"),L=!0,H=k.outerHeight(),W=k.height(),y.addClass(j.classes.open),x.val("").is(":focus")||x.focus(),a.on("click"+o,g).on("scroll"+o,v),v(),j.options.preventWindowScroll&&a.on("mousewheel"+o+" DOMMouseScroll"+o,"."+j.classes.scroll,function(t){var s=t.originalEvent,o=e(this).scrollTop(),i=0;"detail"in s&&(i=-1*s.detail),"wheelDelta"in s&&(i=s.wheelDelta),"wheelDeltaY"in s&&(i=s.wheelDeltaY),"deltaY"in s&&(i=-1*s.deltaY),(o==this.scrollHeight-W&&0>i||0==o&&i>0)&&t.preventDefault()}),w(S),l.triggerCallback("Open",j))}function v(){y.toggleClass(j.classes.above,y.offset().top+y.outerHeight()+H>r.scrollTop()+r.height())}function g(){if(l.triggerCallback("BeforeClose",j),B!=S){l.triggerCallback("BeforeChange",j);var t=j.items[S].text;F.prop("selectedIndex",B=S).data("value",t),I.html(e.isFunction($)?$(j.items[S]):l.format($,j.items[S])),l.triggerCallback("Change",j)}a.off(o),y.removeClass(j.classes.open),L=!1,l.triggerCallback("Close",j)}function b(e,t){void 0!=e&&(j.items[e].disabled||(O.removeClass("selected").eq(S=e).addClass("selected"),w(e),t&&g()))}function w(e){var t=O.eq(e).outerHeight(),s=O[e].offsetTop,o=T.scrollTop(),i=s+2*t;T.scrollTop(i>o+H?i-H:o>s-t?s-t:o)}function C(e){R&&(k.add(D).add(x).remove(),!e&&F.removeData(t).removeData("value"),F.prop("tabindex",P).off(o).off(A).unwrap().unwrap(),R=!1)}var x,k,T,D,I,y,O,S,B,H,W,M,E,A,$,j=this,F=e(n),L=!1,R=!1,Y=/android|ip(hone|od|ad)/i.test(navigator.userAgent),P=F.prop("tabindex");d(c)};e.fn[t]=function(s){return this.each(function(){var o=e.data(this,t);o&&!o.disableOnMobile?""+s===s&&o[s]?o[s]():o.init(s):e.data(this,t,new c(this,s))})},e.fn[t].hooks=n}(jQuery); From c44b046f308f645bcf390c5d69457f6543fc4f62 Mon Sep 17 00:00:00 2001 From: Sarah Austin Date: Wed, 28 Feb 2024 16:45:22 -0500 Subject: [PATCH 03/13] revert temp changes for design review to trunk --- .../javascripts/jquery.selectric.min.js | 2 ++ app/views/layouts/application.html.erb | 5 ++-- app/views/layouts/single_column.html.erb | 28 +++++++++---------- app/views/layouts/two_column.html.erb | 18 +++++------- .../javascripts/jquery.selectric.min.js | 2 ++ 5 files changed, 27 insertions(+), 28 deletions(-) diff --git a/app/assets/javascripts/jquery.selectric.min.js b/app/assets/javascripts/jquery.selectric.min.js index e69de29bb2d..7c4c02d2b55 100755 --- a/app/assets/javascripts/jquery.selectric.min.js +++ b/app/assets/javascripts/jquery.selectric.min.js @@ -0,0 +1,2 @@ +/*! Selectric ϟ v1.13.0 (2017-08-22) - git.io/tjl9sQ - Copyright (c) 2017 Leonardo Santos - MIT License */ +!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,s){return void 0===s&&(s="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(s),s}:e(jQuery)}(function(e){"use strict";var t=e(document),s=e(window),l=["a","e","i","o","u","n","c","y"],i=[/[\xE0-\xE5]/g,/[\xE8-\xEB]/g,/[\xEC-\xEF]/g,/[\xF2-\xF6]/g,/[\xF9-\xFC]/g,/[\xF1]/g,/[\xE7]/g,/[\xFD-\xFF]/g],n=function(t,s){var l=this;l.element=t,l.$element=e(t),l.state={multiple:!!l.$element.attr("multiple"),enabled:!1,opened:!1,currValue:-1,selectedIdx:-1,highlightedIdx:-1},l.eventTriggers={open:l.open,close:l.close,destroy:l.destroy,refresh:l.refresh,init:l.init},l.init(s)};n.prototype={utils:{isMobile:function(){return/android|ip(hone|od|ad)/i.test(navigator.userAgent)},escapeRegExp:function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},replaceDiacritics:function(e){for(var t=i.length;t--;)e=e.toLowerCase().replace(i[t],l[t]);return e},format:function(e){var t=arguments;return(""+e).replace(/\{(?:(\d+)|(\w+))\}/g,function(e,s,l){return l&&t[1]?t[1][l]:t[s]})},nextEnabledItem:function(e,t){for(;e[t=(t+1)%e.length].disabled;);return t},previousEnabledItem:function(e,t){for(;e[t=(t>0?t:e.length)-1].disabled;);return t},toDash:function(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()},triggerCallback:function(t,s){var l=s.element,i=s.options["on"+t],n=[l].concat([].slice.call(arguments).slice(1));e.isFunction(i)&&i.apply(l,n),e(l).trigger("selectric-"+this.toDash(t),n)},arrayToClassname:function(t){var s=e.grep(t,function(e){return!!e});return e.trim(s.join(" "))}},init:function(t){var s=this;if(s.options=e.extend(!0,{},e.fn.selectric.defaults,s.options,t),s.utils.triggerCallback("BeforeInit",s),s.destroy(!0),s.options.disableOnMobile&&s.utils.isMobile())return void(s.disableOnMobile=!0);s.classes=s.getClassNames();var l=e("",{class:s.classes.input,readonly:s.utils.isMobile()}),i=e("
    ",{class:s.classes.items,tabindex:-1}),n=e("
    ",{class:s.classes.scroll}),a=e("
    ",{class:s.classes.prefix,html:s.options.arrowButtonMarkup}),o=e("",{class:"label"}),r=s.$element.wrap("
    ").parent().append(a.prepend(o),i,l),u=e("
    ",{class:s.classes.hideselect});s.elements={input:l,items:i,itemsScroll:n,wrapper:a,label:o,outerWrapper:r},s.options.nativeOnMobile&&s.utils.isMobile()&&(s.elements.input=void 0,u.addClass(s.classes.prefix+"-is-native"),s.$element.on("change",function(){s.refresh()})),s.$element.on(s.eventTriggers).wrap(u),s.originalTabindex=s.$element.prop("tabindex"),s.$element.prop("tabindex",-1),s.populate(),s.activate(),s.utils.triggerCallback("Init",s)},activate:function(){var e=this,t=e.elements.items.closest(":visible").children(":hidden").addClass(e.classes.tempshow),s=e.$element.width();t.removeClass(e.classes.tempshow),e.utils.triggerCallback("BeforeActivate",e),e.elements.outerWrapper.prop("class",e.utils.arrayToClassname([e.classes.wrapper,e.$element.prop("class").replace(/\S+/g,e.classes.prefix+"-$&"),e.options.responsive?e.classes.responsive:""])),e.options.inheritOriginalWidth&&s>0&&e.elements.outerWrapper.width(s),e.unbindEvents(),e.$element.prop("disabled")?(e.elements.outerWrapper.addClass(e.classes.disabled),e.elements.input&&e.elements.input.prop("disabled",!0)):(e.state.enabled=!0,e.elements.outerWrapper.removeClass(e.classes.disabled),e.$li=e.elements.items.removeAttr("style").find("li"),e.bindEvents()),e.utils.triggerCallback("Activate",e)},getClassNames:function(){var t=this,s=t.options.customClass,l={};return e.each("Input Items Open Disabled TempShow HideSelect Wrapper Focus Hover Responsive Above Below Scroll Group GroupLabel".split(" "),function(e,i){var n=s.prefix+i;l[i.toLowerCase()]=s.camelCase?n:t.utils.toDash(n)}),l.prefix=s.prefix,l},setLabel:function(){var t=this,s=t.options.labelBuilder;if(t.state.multiple){var l=e.isArray(t.state.currValue)?t.state.currValue:[t.state.currValue];l=0===l.length?[0]:l;var i=e.map(l,function(s){return e.grep(t.lookupItems,function(e){return e.index===s})[0]});i=e.grep(i,function(t){return i.length>1||0===i.length?""!==e.trim(t.value):t}),i=e.map(i,function(l){return e.isFunction(s)?s(l):t.utils.format(s,l)}),t.options.multiple.maxLabelEntries&&(i.length>=t.options.multiple.maxLabelEntries+1?(i=i.slice(0,t.options.multiple.maxLabelEntries),i.push(e.isFunction(s)?s({text:"..."}):t.utils.format(s,{text:"..."}))):i.slice(i.length-1)),t.elements.label.html(i.join(t.options.multiple.separator))}else{var n=t.lookupItems[t.state.currValue];t.elements.label.html(e.isFunction(s)?s(n):t.utils.format(s,n))}},populate:function(){var t=this,s=t.$element.children(),l=t.$element.find("option"),i=l.filter(":selected"),n=l.index(i),a=0,o=t.state.multiple?[]:0;i.length>1&&t.state.multiple&&(n=[],i.each(function(){n.push(e(this).index())})),t.state.currValue=~n?n:o,t.state.selectedIdx=t.state.currValue,t.state.highlightedIdx=t.state.currValue,t.items=[],t.lookupItems=[],s.length&&(s.each(function(s){var l=e(this);if(l.is("optgroup")){var i={element:l,label:l.prop("label"),groupDisabled:l.prop("disabled"),items:[]};l.children().each(function(s){var l=e(this);i.items[s]=t.getItemData(a,l,i.groupDisabled||l.prop("disabled")),t.lookupItems[a]=i.items[s],a++}),t.items[s]=i}else t.items[s]=t.getItemData(a,l,l.prop("disabled")),t.lookupItems[a]=t.items[s],a++}),t.setLabel(),t.elements.items.append(t.elements.itemsScroll.html(t.getItemsMarkup(t.items))))},getItemData:function(t,s,l){var i=this;return{index:t,element:s,value:s.val(),className:s.prop("class"),text:s.html(),slug:e.trim(i.utils.replaceDiacritics(s.html())),alt:s.attr("data-alt"),selected:s.prop("selected"),disabled:l}},getItemsMarkup:function(t){var s=this,l="
      ";return e.isFunction(s.options.listBuilder)&&s.options.listBuilder&&(t=s.options.listBuilder(t)),e.each(t,function(t,i){void 0!==i.label?(l+=s.utils.format('
      • {3}
      • ',s.utils.arrayToClassname([s.classes.group,i.groupDisabled?"disabled":"",i.element.prop("class")]),s.classes.grouplabel,i.element.prop("label")),e.each(i.items,function(e,t){l+=s.getItemMarkup(t.index,t)}),l+="
      "):l+=s.getItemMarkup(i.index,i)}),l+"
    "},getItemMarkup:function(t,s){var l=this,i=l.options.optionsItemBuilder,n={value:s.value,text:s.text,slug:s.slug,index:s.index};return l.utils.format('
  • {3}
  • ',t,l.utils.arrayToClassname([s.className,t===l.items.length-1?"last":"",s.disabled?"disabled":"",s.selected?"selected":""]),e.isFunction(i)?l.utils.format(i(s,this.$element,t),s):l.utils.format(i,n))},unbindEvents:function(){var e=this;e.elements.wrapper.add(e.$element).add(e.elements.outerWrapper).add(e.elements.input).off(".sl")},bindEvents:function(){var t=this;t.elements.outerWrapper.on("mouseenter.sl mouseleave.sl",function(s){e(this).toggleClass(t.classes.hover,"mouseenter"===s.type),t.options.openOnHover&&(clearTimeout(t.closeTimer),"mouseleave"===s.type?t.closeTimer=setTimeout(e.proxy(t.close,t),t.options.hoverIntentTimeout):t.open())}),t.elements.wrapper.on("click.sl",function(e){t.state.opened?t.close():t.open(e)}),t.options.nativeOnMobile&&t.utils.isMobile()||(t.$element.on("focus.sl",function(){t.elements.input.focus()}),t.elements.input.prop({tabindex:t.originalTabindex,disabled:!1}).on("keydown.sl",e.proxy(t.handleKeys,t)).on("focusin.sl",function(e){t.elements.outerWrapper.addClass(t.classes.focus),t.elements.input.one("blur",function(){t.elements.input.blur()}),t.options.openOnFocus&&!t.state.opened&&t.open(e)}).on("focusout.sl",function(){t.elements.outerWrapper.removeClass(t.classes.focus)}).on("input propertychange",function(){var s=t.elements.input.val(),l=new RegExp("^"+t.utils.escapeRegExp(s),"i");clearTimeout(t.resetStr),t.resetStr=setTimeout(function(){t.elements.input.val("")},t.options.keySearchTimeout),s.length&&e.each(t.items,function(e,s){if(!s.disabled){if(l.test(s.text)||l.test(s.slug))return void t.highlight(e);if(s.alt)for(var i=s.alt.split("|"),n=0;n-1,a=e.inArray(l,i.next)>-1,o=e.inArray(l,i.select)>-1,r=e.inArray(l,i.open)>-1,u=s.state.highlightedIdx,p=n&&0===u||a&&u+1===s.items.length,c=0;if(13!==l&&32!==l||t.preventDefault(),n||a){if(!s.options.allowWrap&&p)return;n&&(c=s.utils.previousEnabledItem(s.lookupItems,u)),a&&(c=s.utils.nextEnabledItem(s.lookupItems,u)),s.highlight(c)}if(o&&s.state.opened)return s.select(u),void(s.state.multiple&&s.options.multiple.keepMenuOpen||s.close());r&&!s.state.opened&&s.open()},refresh:function(){var e=this;e.populate(),e.activate(),e.utils.triggerCallback("Refresh",e)},setOptionsDimensions:function(){var e=this,t=e.elements.items.closest(":visible").children(":hidden").addClass(e.classes.tempshow),s=e.options.maxHeight,l=e.elements.items.outerWidth(),i=e.elements.wrapper.outerWidth()-(l-e.elements.items.width());!e.options.expandToItemText||i>l?e.finalWidth=i:(e.elements.items.css("overflow","scroll"),e.elements.outerWrapper.width(9e4),e.finalWidth=e.elements.items.width(),e.elements.items.css("overflow",""),e.elements.outerWrapper.width("")),e.elements.items.width(e.finalWidth).height()>s&&e.elements.items.height(s),t.removeClass(e.classes.tempshow)},isInViewport:function(){var e=this;if(!0===e.options.forceRenderAbove)e.elements.outerWrapper.addClass(e.classes.above);else if(!0===e.options.forceRenderBelow)e.elements.outerWrapper.addClass(e.classes.below);else{var t=s.scrollTop(),l=s.height(),i=e.elements.outerWrapper.offset().top,n=e.elements.outerWrapper.outerHeight(),a=i+n+e.itemsHeight<=t+l,o=i-e.itemsHeight>t,r=!a&&o,u=!r;e.elements.outerWrapper.toggleClass(e.classes.above,r),e.elements.outerWrapper.toggleClass(e.classes.below,u)}},detectItemVisibility:function(t){var s=this,l=s.$li.filter("[data-index]");s.state.multiple&&(t=e.isArray(t)&&0===t.length?0:t,t=e.isArray(t)?Math.min.apply(Math,t):t);var i=l.eq(t).outerHeight(),n=l[t].offsetTop,a=s.elements.itemsScroll.scrollTop(),o=n+2*i;s.elements.itemsScroll.scrollTop(o>a+s.itemsHeight?o-s.itemsHeight:n-i0)&&t.preventDefault()}),l.detectItemVisibility(l.state.selectedIdx),l.highlight(l.state.multiple?-1:l.state.selectedIdx),l.utils.triggerCallback("Open",l))},close:function(){var e=this;e.utils.triggerCallback("BeforeClose",e),t.off(".sl"),e.elements.outerWrapper.removeClass(e.classes.open),e.state.opened=!1,e.utils.triggerCallback("Close",e)},change:function(){var t=this;t.utils.triggerCallback("BeforeChange",t),t.state.multiple?(e.each(t.lookupItems,function(e){t.lookupItems[e].selected=!1,t.$element.find("option").prop("selected",!1)}),e.each(t.state.selectedIdx,function(e,s){t.lookupItems[s].selected=!0,t.$element.find("option").eq(s).prop("selected",!0)}),t.state.currValue=t.state.selectedIdx,t.setLabel(),t.utils.triggerCallback("Change",t)):t.state.currValue!==t.state.selectedIdx&&(t.$element.prop("selectedIndex",t.state.currValue=t.state.selectedIdx).data("value",t.lookupItems[t.state.selectedIdx].text),t.setLabel(),t.utils.triggerCallback("Change",t))},highlight:function(e){var t=this,s=t.$li.filter("[data-index]").removeClass("highlighted");t.utils.triggerCallback("BeforeHighlight",t),void 0===e||-1===e||t.lookupItems[e].disabled||(s.eq(t.state.highlightedIdx=e).addClass("highlighted"),t.detectItemVisibility(e),t.utils.triggerCallback("Highlight",t))},select:function(t){var s=this,l=s.$li.filter("[data-index]");if(s.utils.triggerCallback("BeforeSelect",s,t),void 0!==t&&-1!==t&&!s.lookupItems[t].disabled){if(s.state.multiple){s.state.selectedIdx=e.isArray(s.state.selectedIdx)?s.state.selectedIdx:[s.state.selectedIdx];var i=e.inArray(t,s.state.selectedIdx);-1!==i?s.state.selectedIdx.splice(i,1):s.state.selectedIdx.push(t),l.removeClass("selected").filter(function(t){return-1!==e.inArray(t,s.state.selectedIdx)}).addClass("selected")}else l.removeClass("selected").eq(s.state.selectedIdx=t).addClass("selected");s.state.multiple&&s.options.multiple.keepMenuOpen||s.close(),s.change(),s.utils.triggerCallback("Select",s,t)}},destroy:function(e){var t=this;t.state&&t.state.enabled&&(t.elements.items.add(t.elements.wrapper).add(t.elements.input).remove(),e||t.$element.removeData("selectric").removeData("value"),t.$element.prop("tabindex",t.originalTabindex).off(".sl").off(t.eventTriggers).unwrap().unwrap(),t.state.enabled=!1)}},e.fn.selectric=function(t){return this.each(function(){var s=e.data(this,"selectric");s&&!s.disableOnMobile?"string"==typeof t&&s[t]?s[t]():s.init(t):e.data(this,"selectric",new n(this,t))})},e.fn.selectric.defaults={onChange:function(t){e(t).change()},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'',disableOnMobile:!1,nativeOnMobile:!0,openOnFocus:!0,openOnHover:!1,hoverIntentTimeout:500,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,allowWrap:!0,forceRenderAbove:!1,forceRenderBelow:!1,stopPropagation:!0,optionsItemBuilder:"{text}",labelBuilder:"{text}",listBuilder:!1,keys:{previous:[37,38],next:[39,40],select:[9,13,27],open:[13,32,37,38,39,40],close:[9,27]},customClass:{prefix:"selectric",camelCase:!1},multiple:{separator:", ",keepMenuOpen:!0,maxLabelEntries:!1}}}); \ No newline at end of file diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 38efffc3bc8..8a896efcd7d 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -51,7 +51,7 @@ - <%= render partial: './ui-components/bs4/v1/navs/header' %> + <%= render partial: './ui-components/v1/navs/header' %>
    <% if aca_security_questions %> @@ -73,8 +73,7 @@ <% if EnrollRegistry.feature_enabled?(:live_chat_widget) %> <%= render "shared/customer_support/live_chat_widget" %> <% end %> - - <%= render partial: './ui-components/bs4/v1/footers/footer' %> + <%= render partial: './ui-components/v1/layouts/footer' %> diff --git a/app/views/layouts/single_column.html.erb b/app/views/layouts/single_column.html.erb index dc366feae18..70ab0b447e7 100644 --- a/app/views/layouts/single_column.html.erb +++ b/app/views/layouts/single_column.html.erb @@ -7,11 +7,13 @@ <%= favicon_link_tag Settings.site.tab_icon, :rel => 'shortcut icon', :type => 'image/vnd.microsoft.icon' %> <%= content_for?(:title) ? yield(:title) : "Welcome to #{site_short_name} | #{site_short_name}" %> - - <%= javascript_pack_tag 'application' %> + <%= stylesheet_link_tag "application", :media => "all" %> <%= javascript_include_tag "application" %> - <%= stylesheet_pack_tag 'application', media: "all" %> +<<<<<<< HEAD +======= + +>>>>>>> b55bb12973 (revert temp changes for design review to trunk) <%= stylesheet_link_tag "sponsored_benefits/application", :media => "all" %> <%= javascript_include_tag "sponsored_benefits/application" %> <%= javascript_pack_tag ENV['CLIENT'] %> @@ -29,16 +31,14 @@ - - - + + <%= render "layouts/analytics" if ENV['GA_TRACKING_ID'].present? %> - <%= yield :head %> - + <%= yield :head %> <% if EnrollRegistry.feature_enabled?(:live_chat_widget) %> <%= render "shared/customer_support/live_chat_scripts" unless EnrollRegistry.feature_enabled?(:external_qna_bot) %> <% end %> @@ -51,13 +51,13 @@ <%= render 'users/security_question_responses/modal' %>
    - <%= yield %> -
    + <%= yield %> +
    <% if EnrollRegistry.feature_enabled?(:live_chat_widget) %> <%= render "shared/customer_support/live_chat_widget" %> <% end %> + <%= render partial: './ui-components/v1/layouts/footer' %> - <%= render partial: './ui-components/bs4/v1/footers/footer' %> diff --git a/app/views/layouts/two_column.html.erb b/app/views/layouts/two_column.html.erb index 3b7001d4fa3..f2e4a04f3da 100644 --- a/app/views/layouts/two_column.html.erb +++ b/app/views/layouts/two_column.html.erb @@ -7,11 +7,8 @@ <%= favicon_link_tag Settings.site.tab_icon, :rel => 'shortcut icon', :type => 'image/vnd.microsoft.icon' %> <%= content_for?(:title) ? yield(:title) : "Welcome to #{site_short_name} | #{site_short_name}" %> - - <%= javascript_pack_tag 'application' %> + <%= stylesheet_link_tag "application", :media => "all" %> <%= javascript_include_tag "application" %> - <%= stylesheet_pack_tag 'application', media: "all" %> - <%= javascript_pack_tag ENV['CLIENT'] %> <%= stylesheet_pack_tag ENV['CLIENT'] %> <%= javascript_pack_tag 'legacy', 'data-turbolinks-track': 'reload' %> @@ -31,12 +28,11 @@ - - - + + <%= yield :head %> @@ -57,7 +53,7 @@
    + <%= render partial: './ui-components/v1/layouts/footer' %> - <%= render partial: './ui-components/bs4/v1/footers/footer' %> diff --git a/vendor/assets/javascripts/jquery.selectric.min.js b/vendor/assets/javascripts/jquery.selectric.min.js index e69de29bb2d..6695ee862de 100755 --- a/vendor/assets/javascripts/jquery.selectric.min.js +++ b/vendor/assets/javascripts/jquery.selectric.min.js @@ -0,0 +1,2 @@ +/*! Selectric ϟ v1.9.2 (2015-04-07) - git.io/tjl9sQ - Copyright (c) 2015 Leonardo Santos - Dual licensed: MIT/GPL */ +!function(e){"use strict";var t="selectric",s="Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll Group GroupLabel",o=".sl",i={onChange:function(t){e(t).change()},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'',disableOnMobile:!0,openOnHover:!1,hoverIntentTimeout:500,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,allowWrap:!0,customClass:{prefix:t,camelCase:!1,overwrite:!0},optionsItemBuilder:"{text}",labelBuilder:"{text}"},n={add:function(e,t,s){this[e]||(this[e]={}),this[e][t]=s},remove:function(e,t){delete this[e][t]}},l={replaceDiacritics:function(e){for(var t="40-46 50-53 54-57 62-70 71-74 61 47 77".replace(/\d+/g,"\\3$&").split(" "),s=t.length;s--;)e=e.toLowerCase().replace(RegExp("["+t[s]+"]","g"),"aeiouncy".charAt(s));return e},format:function(e){var t=arguments;return(""+e).replace(/{(\d+|(\w+))}/g,function(e,s,o){return o&&t[1]?t[1][o]:t[s]})},nextEnabledItem:function(e,t){for(;e[t=(t+1)%e.length].disabled;);return t},previousEnabledItem:function(e,t){for(;e[t=(t>0?t:e.length)-1].disabled;);return t},toDash:function(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},triggerCallback:function(s,o){var i=o.element,a=o.options["on"+s];e.isFunction(a)&&a.call(i,i,o),n[s]&&e.each(n[s],function(){this.call(i,i,o)}),e(i).trigger(t+"-"+l.toDash(s),o)}},a=e(document),r=e(window),c=function(n,c){function d(t){if(j.options=e.extend(!0,{},i,j.options,t),j.classes={},j.element=n,l.triggerCallback("BeforeInit",j),j.options.disableOnMobile&&Y)return void(j.disableOnMobile=!0);C(!0);var o=j.options.customClass,a=s.split(" "),r=F.width();e.each(a,function(e,t){var s=o.prefix+t;j.classes[t.toLowerCase()]=o.camelCase?s:l.toDash(s)}),x=e("",{"class":j.classes.input,readonly:Y}),k=e("
    ",{"class":j.classes.items,tabindex:-1}),T=e("
    ",{"class":j.classes.scroll}),D=e("
    ",{"class":o.prefix,html:j.options.arrowButtonMarkup}),I=e('

    '),y=F.wrap("

    ").parent().append(D.prepend(I),k,x),A={open:m,close:g,destroy:C,refresh:u,init:d},F.on(A).wrap('
    '),e.extend(j,A),$=j.options.labelBuilder,j.options.inheritOriginalWidth&&r>0&&y.width(r),p()}function p(){j.items=[];var t=F.children(),s="
      ",i=t.filter(":selected").index(),n=0;B=S=~i?i:0,(E=t.length)&&(t.each(function(){function t(){var t=e(this),o=t.html(),i=t.prop("disabled"),a=j.options.optionsItemBuilder;j.items[n]={element:t,value:t.val(),text:o,slug:l.replaceDiacritics(o),disabled:i},s+=l.format('
    • {3}
    • ',n,e.trim([n==B?"selected":"",n==E-1?"last":"",i?"disabled":""].join(" ")),e.isFunction(a)?a(j.items[n],t,n):l.format(a,j.items[n])),n++}var o=e(this);if(o.is("optgroup")){var i=o.prop("disabled"),a=o.children();s+=l.format('
      • {3}
      • ',e.trim([j.classes.group,i?"disabled":"",o.prop("class")].join(" ")),j.classes.grouplabel,o.prop("label")),i&&a.prop("disabled",!0),a.each(t),s+="
      "}else t.call(o)}),k.append(T.html(s+"
    ")),I.html(e.isFunction($)?$(j.items[B]):l.format($,j.items[B]))),D.add(F).add(y).add(x).off(o),y.prop("class",[j.classes.wrapper,j.options.customClass.overwrite?F.prop("class").replace(/\S+/g,j.options.customClass.prefix+"-$&"):F.prop("class"),j.options.responsive?j.classes.responsive:""].join(" ")),F.prop("disabled")?(y.addClass(j.classes.disabled),x.prop("disabled",!0)):(R=!0,y.removeClass(j.classes.disabled).on("mouseenter"+o+" mouseleave"+o,function(t){e(this).toggleClass(j.classes.hover),j.options.openOnHover&&(clearTimeout(j.closeTimer),"mouseleave"==t.type?j.closeTimer=setTimeout(g,j.options.hoverIntentTimeout):m())}),D.on("click"+o,function(e){L?g():m(e)}),x.prop({tabindex:P,disabled:!1}).on("keypress"+o,h).on("keydown"+o,function(e){h(e),clearTimeout(j.resetStr),j.resetStr=setTimeout(function(){x.val("")},j.options.keySearchTimeout);var t=e.keyCode||e.which;if(t>36&&41>t){if(!j.options.allowWrap&&(39>t&&0==S||t>38&&S+1==j.items.length))return;b(l[(39>t?"previous":"next")+"EnabledItem"](j.items,S))}}).on("focusin"+o,function(e){x.one("blur",function(){x.blur()}),L||m(e)}).on("oninput"in x[0]?"input":"keyup",function(){x.val().length&&e.each(j.items,function(e,t){return RegExp("^"+x.val(),"i").test(t.slug)&&!t.disabled?(b(e),!1):void 0})}),F.prop("tabindex",!1),O=e("li",k.removeAttr("style")).on({mousedown:function(e){e.preventDefault(),e.stopPropagation()},click:function(){return b(e(this).data("index"),!0),!1}}).filter("[data-index]")),l.triggerCallback("Init",j)}function u(){l.triggerCallback("Refresh",j),p()}function h(e){var t=e.keyCode||e.which;13==t&&e.preventDefault(),/^(9|13|27)$/.test(t)&&(e.stopPropagation(),b(S,!0))}function f(){var e=k.closest(":visible").children(":hidden").addClass(j.classes.tempshow),t=j.options.maxHeight,s=k.outerWidth(),o=D.outerWidth()-(s-k.width());!j.options.expandToItemText||o>s?M=o:(k.css("overflow","scroll"),y.width(9e4),M=k.width(),k.css("overflow",""),y.width("")),k.width(M).height()>t&&k.height(t),e.removeClass(j.classes.tempshow)}function m(s){l.triggerCallback("BeforeOpen",j),s&&(s.preventDefault(),s.stopPropagation()),R&&(f(),e("."+j.classes.hideselect,"."+j.classes.open).children()[t]("close"),L=!0,H=k.outerHeight(),W=k.height(),y.addClass(j.classes.open),x.val("").is(":focus")||x.focus(),a.on("click"+o,g).on("scroll"+o,v),v(),j.options.preventWindowScroll&&a.on("mousewheel"+o+" DOMMouseScroll"+o,"."+j.classes.scroll,function(t){var s=t.originalEvent,o=e(this).scrollTop(),i=0;"detail"in s&&(i=-1*s.detail),"wheelDelta"in s&&(i=s.wheelDelta),"wheelDeltaY"in s&&(i=s.wheelDeltaY),"deltaY"in s&&(i=-1*s.deltaY),(o==this.scrollHeight-W&&0>i||0==o&&i>0)&&t.preventDefault()}),w(S),l.triggerCallback("Open",j))}function v(){y.toggleClass(j.classes.above,y.offset().top+y.outerHeight()+H>r.scrollTop()+r.height())}function g(){if(l.triggerCallback("BeforeClose",j),B!=S){l.triggerCallback("BeforeChange",j);var t=j.items[S].text;F.prop("selectedIndex",B=S).data("value",t),I.html(e.isFunction($)?$(j.items[S]):l.format($,j.items[S])),l.triggerCallback("Change",j)}a.off(o),y.removeClass(j.classes.open),L=!1,l.triggerCallback("Close",j)}function b(e,t){void 0!=e&&(j.items[e].disabled||(O.removeClass("selected").eq(S=e).addClass("selected"),w(e),t&&g()))}function w(e){var t=O.eq(e).outerHeight(),s=O[e].offsetTop,o=T.scrollTop(),i=s+2*t;T.scrollTop(i>o+H?i-H:o>s-t?s-t:o)}function C(e){R&&(k.add(D).add(x).remove(),!e&&F.removeData(t).removeData("value"),F.prop("tabindex",P).off(o).off(A).unwrap().unwrap(),R=!1)}var x,k,T,D,I,y,O,S,B,H,W,M,E,A,$,j=this,F=e(n),L=!1,R=!1,Y=/android|ip(hone|od|ad)/i.test(navigator.userAgent),P=F.prop("tabindex");d(c)};e.fn[t]=function(s){return this.each(function(){var o=e.data(this,t);o&&!o.disableOnMobile?""+s===s&&o[s]?o[s]():o.init(s):e.data(this,t,new c(this,s))})},e.fn[t].hooks=n}(jQuery); From 74e1f0d79e6a59064cfba211d33aac93ca9886c4 Mon Sep 17 00:00:00 2001 From: Sarah Austin Date: Mon, 3 Jun 2024 13:00:30 -0400 Subject: [PATCH 04/13] bs4 plan shopping family info & choose cov for HH pages (#3821) * create account page plus additional translations * immigration doc partials * translations for other clients * don't touch FAA yet * app scan warnings * app scan warnings * app scan issues * starting to rubocop * navigation helper rubocop * fix brakeman, other text changes * app scan flags * sanitize links * fix link * devise translations * fix devise translations * devise translations * devise translations * devise translations * devise translations * devise translations * reformat devide translations * reformat devide translations * reformat devide translations * reformat devide translations * redo devise translations * id bad bullets * id bad bullet * id bad bullet * id bad bullet text * previous and continue buttons dryed out * properly sanitize link * fix for no ssn info text * sign in text fix * header contact number not clickable (#3812) add missing href attribute to link * fix personal info step 3 content (#3819) * fix duplicate for, fix missing asterisk for home address fields with introduction of form builder helper that builds a text field which abstracts out setting required field and asterisk append * update helper method to allow callers to not specify class param, fix contact_info_for in other translations * remove unrelated changes * update race legend subtitle to be inline (#3833) move parenthetical to inline with legend title * remove disagree placeholder text (#3831) remove disagree_placeholder_text div * fix auth and consent previous button layout (#3825) * wrap progress button in vertically aligned flex box * combines prev and continue link partial into one partial, updates consumers of the old partials to use the new one and keep functionality * remove unneeded div * remove unneeded argument * ssn number mask format (#3824) * add mask for ssn, add mask-ssn class on text field * update class name to not be repetitive * use preexisting input mask for ssn * phone number mask format (#3823) * add script tag for phone number mask, add phone_number class on text field, update placeholder to match expected format * replace new mask with a call to inputMasks * add missing underscore prefix to partial (#3840) * right align header account links (#3832) * add ml-auto class to link column * remove unneeded span * adds newline for each span * remove ml-auto class from span and adds align-items-end to both columns * unbold demo info questions (#3836) * localize incarcerated and citizen strings, remove asterisk from tribe_member_2 to allow space and non-space cases, add new selector to allow for unbold form labels and legends * remove asterisk from tribal_name translation * use weight-n instead of new class for enforcing non-bold titles in form * add class for immigrant doc labels * replace header content (#3838) add new devise entry for bs4 welcome message, update controller to drive the flash message using bs4 flag * remove repeated header text (#3839) add translations for user roles, remove fallback on role check in portal helper, use new translation keys in portal helper * rubocop * give continue buttons shared selectors * resolve ticket 187618984 previous button underlined * ridp agreement text bold * disabled dob on more info * session warning pop up * privacy spacing * add not sure for is applying coverage * duplicated *s for aiant question * load correct ridp partials * show help shopping button * progress nav buttons cleanup * auto build feature branch on new changes * fix failed validation page * start fixing rspec failures * continuing spec work * continuing spec work * more spec fixes * ridp admin actions * rubocop fixes * fix warning * make bs4 layout more conditional for dc * bs4 flag for layouts already using bs4 layout * wlecome controller * rubocop * fix address and contact row spacing (#3843) * use margin bottom 2 for first address and contact rows, wrap address hidden fields in span to lose input + label styling * remove span, update selector to disregard hidden inputs * fix contact method alert (#3851) * adds localized string for contact options, update checkbox setup to use unique ids for each option and localize the label, adds missing class on BS4 checkbox span * adds check for non-person which crashed on null check and stopped further validations in the call * remove checked call in combined get * unbold personal info immigration fields (#3852) add weight-n to other status questions legend and all missing immigration doc labels * remove extra personal info contact text (#3850) * fix fonts, more ridp work started * remove unneeded please provide disclaimer label * remove weird merge tag --------- Co-authored-by: Kristin Merbach * hide id in pre login (#3849) update translation to just be id, update account display to only show id substring when present * fix label for verified state (#3865) update new verification helper to return the string matching legacy for valid case * remove personal info step in consumer signup (#3863) cherry pick old changes * use warning banner for no match (#3861) * update content for bs4, use warning banner * padding updates * rename translation key * add text for missing immigrant status labels (#3864) * adds hardcoded text for missing localized keys * add translations for content * move not sure link below radios (#3870) * use grid for is_applying_for_cov elements * remove rows and reorganize classes * add asterisk to address line 1 and zip in personal info (#3820) * add builder to use for DRYing creation of required text fields with asterisks * update address 1, address 2, city, and zip fields to use the new text_field builder, update zip field to have asterisk * localize city * makes placeholder a required keyword param * rename to RequirableFormBuilder, update helper to maintain both the field/select element and its label, moves asterisk to label per specs * fixe merge order so that params override options * remove formbuilder and hardcode asterisks in markup * fix trailing whitespace, remove county translation * restore add 1 class * use required class for required fields * add required attr for city * add disabled class to continue link (#3872) * add disabled class to link, remove extraneous if in button * restores disabled if for button case * fix missing document faq button (#3877) * 187579400 update flash (#3854) * add BS4 view to flash partial * updates flash partial for bs4, updates progress and bs4 layouts to render new flash * fix underscore on close button * close icon work * white space fix * map legacy alert type to bs4, update flash layout to work well with larger messages, accessibility updates * add success case, more whitespace cleanup * update alert-error to use correct border and add error icon * move container out of layout, update padding on header to match footer * update padding and margins on flash * simplify flash in progress layout now that we have flash in its own container * unrelated fix for failed validations, replace old alert style, add missing legacy style in BS4 flash style map, add new alert style, update flash margin, * adds @bs4 arguments for render_flash calls and restores horizontal status in bs4 layout * rename flash type helper method * update info step 1 banner (#3860) * adds warning option to DOB error, updates error_messages partial to handle error option and use new UI * remove left padding for list in alert * remove unneeded classes * remove padding style * updates classes for error banner to match mockups * move flash into content column for progress layout, remove mt class from flash to allow layouts to drive top margin * ridp default select agree (#3878) add selected args for radio buttons * resolve spacing issues (#3875) * fix spacing, style the info to match other info boxes * more spacing * consolidate spacing classes * session modal styling (#3874) * session modal styling * remove unnecessary span * consolidate spacing classes * ridp waiting * update upload doc verify identity modal (#3886) * split modal partial for bs4, finish header * add radios and upload/close buttons * padding update * update radio text to be blocked and centered with radio * more padding and margin fixes * padding update for info label * use for to render radios * add id * remove unneeded value attr * remove unneeded classes on button row * refactor radio value and id * use element name for legend * removes for from legend * remove row * move btn-file selector to forms * start moving FAA to use bootstrap 4 (#3855) * fix fonts, more ridp work started * start faa * fix resolve layout * fix resolve layout * fix rebase issues * pr requests and translations --------- Signed-off-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> * improve ridp status badges (#3884) * temp * improve ridp status badges * improve encapsulation * rename of vars * rename vars 2.0 * ridp fixes for previous and log out links (#3879) * ridp link fixes * button link hovers shouldn't have underline * fix add mailing address functionality (#3876) * fix mailing address js * remove console log * add button for existing mailing addresses * help me sign up flow bs4 conversion started (#3887) * help me sign up flow started * translations and search input * wave issues * translations --------- Signed-off-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> * fix fonts, more ridp work started * choose cov page wip * plan shopping progress bars updated * plan shopping nav refactoring * remove debug line * choose cov for hh progress, added pg nav buttons for first flow * family information page progress * family information conversion, fixed progress nav buttons * translation fixes * removed debugging code * convert to html.erb * rebase cleanup * removed duped code & unnecessary vars, erb convert for ps compare modal * fix link_to CSS vunerabilities * baseline post convrsion * plan shopping progress refactor * Bootstrap misc bugfixes (#3895) fixes for 6 bug tickets * pr feedback, small fixes * upgrade to bs4 base * revert temp changes for design review to trunk * add feature flag and switch consumer role controler layout * personal information page redo * feature flags, faa layouts * bs4 footer * fix for dynamic footer * header wip, stable * header progress * sticky footer fix * header logo update, move styling to new file * add bs4 upgrade icons, collapsed header tweaks * started family information * privacy page and personal information, button mixin * registration process * more work on consumer flow * fix semicolon * client specific files re-organized * authorization & consent page * footer updates * footer phone # fix * authority & consent ridp page * progress nav accessibility * fix fonts, more ridp work started * added ME colors, revert app controller flag * ridp flow * add new progress layout * create account page plus additional translations * immigration doc partials * translations for other clients * don't touch FAA yet * app scan warnings * app scan warnings * app scan issues * starting to rubocop * navigation helper rubocop * fix brakeman, other text changes * app scan flags * sanitize links * fix link * devise translations * fix devise translations * devise translations * devise translations * devise translations * devise translations * devise translations * reformat devide translations * reformat devide translations * reformat devide translations * reformat devide translations * redo devise translations * id bad bullets * id bad bullet * id bad bullet * id bad bullet text * previous and continue buttons dryed out * properly sanitize link * fix for no ssn info text * sign in text fix * header contact number not clickable (#3812) add missing href attribute to link * fix personal info step 3 content (#3819) * fix duplicate for, fix missing asterisk for home address fields with introduction of form builder helper that builds a text field which abstracts out setting required field and asterisk append * update helper method to allow callers to not specify class param, fix contact_info_for in other translations * remove unrelated changes * update race legend subtitle to be inline (#3833) move parenthetical to inline with legend title * remove disagree placeholder text (#3831) remove disagree_placeholder_text div * fix auth and consent previous button layout (#3825) * wrap progress button in vertically aligned flex box * combines prev and continue link partial into one partial, updates consumers of the old partials to use the new one and keep functionality * remove unneeded div * remove unneeded argument * ssn number mask format (#3824) * add mask for ssn, add mask-ssn class on text field * update class name to not be repetitive * use preexisting input mask for ssn * phone number mask format (#3823) * add script tag for phone number mask, add phone_number class on text field, update placeholder to match expected format * replace new mask with a call to inputMasks * add missing underscore prefix to partial (#3840) * right align header account links (#3832) * add ml-auto class to link column * remove unneeded span * adds newline for each span * remove ml-auto class from span and adds align-items-end to both columns * unbold demo info questions (#3836) * localize incarcerated and citizen strings, remove asterisk from tribe_member_2 to allow space and non-space cases, add new selector to allow for unbold form labels and legends * remove asterisk from tribal_name translation * use weight-n instead of new class for enforcing non-bold titles in form * add class for immigrant doc labels * replace header content (#3838) add new devise entry for bs4 welcome message, update controller to drive the flash message using bs4 flag * remove repeated header text (#3839) add translations for user roles, remove fallback on role check in portal helper, use new translation keys in portal helper * rubocop * give continue buttons shared selectors * resolve ticket 187618984 previous button underlined * ridp agreement text bold * disabled dob on more info * session warning pop up * privacy spacing * add not sure for is applying coverage * duplicated *s for aiant question * load correct ridp partials * show help shopping button * progress nav buttons cleanup * auto build feature branch on new changes * fix failed validation page * start fixing rspec failures * continuing spec work * continuing spec work * more spec fixes * ridp admin actions * rubocop fixes * fix warning * make bs4 layout more conditional for dc * bs4 flag for layouts already using bs4 layout * wlecome controller * rubocop * fix address and contact row spacing (#3843) * use margin bottom 2 for first address and contact rows, wrap address hidden fields in span to lose input + label styling * remove span, update selector to disregard hidden inputs * fix contact method alert (#3851) * adds localized string for contact options, update checkbox setup to use unique ids for each option and localize the label, adds missing class on BS4 checkbox span * adds check for non-person which crashed on null check and stopped further validations in the call * remove checked call in combined get * unbold personal info immigration fields (#3852) add weight-n to other status questions legend and all missing immigration doc labels * remove extra personal info contact text (#3850) * fix fonts, more ridp work started * remove unneeded please provide disclaimer label * remove weird merge tag --------- Co-authored-by: Kristin Merbach * hide id in pre login (#3849) update translation to just be id, update account display to only show id substring when present * fix label for verified state (#3865) update new verification helper to return the string matching legacy for valid case * remove personal info step in consumer signup (#3863) cherry pick old changes * use warning banner for no match (#3861) * update content for bs4, use warning banner * padding updates * rename translation key * add text for missing immigrant status labels (#3864) * adds hardcoded text for missing localized keys * add translations for content * move not sure link below radios (#3870) * use grid for is_applying_for_cov elements * remove rows and reorganize classes * add asterisk to address line 1 and zip in personal info (#3820) * add builder to use for DRYing creation of required text fields with asterisks * update address 1, address 2, city, and zip fields to use the new text_field builder, update zip field to have asterisk * localize city * makes placeholder a required keyword param * rename to RequirableFormBuilder, update helper to maintain both the field/select element and its label, moves asterisk to label per specs * fixe merge order so that params override options * remove formbuilder and hardcode asterisks in markup * fix trailing whitespace, remove county translation * restore add 1 class * use required class for required fields * add required attr for city * add disabled class to continue link (#3872) * add disabled class to link, remove extraneous if in button * restores disabled if for button case * fix missing document faq button (#3877) * 187579400 update flash (#3854) * add BS4 view to flash partial * updates flash partial for bs4, updates progress and bs4 layouts to render new flash * fix underscore on close button * close icon work * white space fix * map legacy alert type to bs4, update flash layout to work well with larger messages, accessibility updates * add success case, more whitespace cleanup * update alert-error to use correct border and add error icon * move container out of layout, update padding on header to match footer * update padding and margins on flash * simplify flash in progress layout now that we have flash in its own container * unrelated fix for failed validations, replace old alert style, add missing legacy style in BS4 flash style map, add new alert style, update flash margin, * adds @bs4 arguments for render_flash calls and restores horizontal status in bs4 layout * rename flash type helper method * update info step 1 banner (#3860) * adds warning option to DOB error, updates error_messages partial to handle error option and use new UI * remove left padding for list in alert * remove unneeded classes * remove padding style * updates classes for error banner to match mockups * move flash into content column for progress layout, remove mt class from flash to allow layouts to drive top margin * ridp default select agree (#3878) add selected args for radio buttons * resolve spacing issues (#3875) * fix spacing, style the info to match other info boxes * more spacing * consolidate spacing classes * session modal styling (#3874) * session modal styling * remove unnecessary span * consolidate spacing classes * ridp waiting * update upload doc verify identity modal (#3886) * split modal partial for bs4, finish header * add radios and upload/close buttons * padding update * update radio text to be blocked and centered with radio * more padding and margin fixes * padding update for info label * use for to render radios * add id * remove unneeded value attr * remove unneeded classes on button row * refactor radio value and id * use element name for legend * removes for from legend * remove row * move btn-file selector to forms * start moving FAA to use bootstrap 4 (#3855) * fix fonts, more ridp work started * start faa * fix resolve layout * fix resolve layout * fix rebase issues * pr requests and translations --------- Signed-off-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> * improve ridp status badges (#3884) * temp * improve ridp status badges * improve encapsulation * rename of vars * rename vars 2.0 * ridp fixes for previous and log out links (#3879) * ridp link fixes * button link hovers shouldn't have underline * fix add mailing address functionality (#3876) * fix mailing address js * remove console log * add button for existing mailing addresses * help me sign up flow bs4 conversion started (#3887) * help me sign up flow started * translations and search input * wave issues * translations --------- Signed-off-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> * Bootstrap misc bugfixes (#3895) fixes for 6 bug tickets * update bs4 content for dob personal info banner (#3883) * update corner radius for bs4 alerts, localize dob error, switch on message when validating dob for bs4 flag * use existing continue strings as substring in dob error * add document list to verify identity (#3890) * cleanup, move old list to bs4 * more list work * layout cleanup * more list work * adds trash style * destroy icon update * adds js handling for delete * add new js destroy * indentation fixes * adds aria * use h6 for type * fix header span * indentation fixes, update fdish page with list changes as well * add missing change from merge * remove class * refactor row classes to support mobile * alpha tweak * remove float-end * remove align * fix unmatched span * remove align * remove d-flex * puts label and badge in col * button refactor * remove unneeded icon * add remove padding * margin fixes * more layout fixes * restore fdsh modal * use insured modal for insured * cleanup * FAA eligibility results to bs4 (#3894) * eligibility results * waiting for eligibility * wait for results --------- Signed-off-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> * add member to family fix * main.scss brace fix, cleanup * webpacker depreciation warning cleanup * fix build error with calc * revert sass depreciation fix attempt * small transation & inline style fixes * XSS fixes --------- Signed-off-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> Signed-off-by: Sarah Austin Co-authored-by: Kristin Merbach Co-authored-by: Charlie Parker Co-authored-by: kvootla Co-authored-by: Alec Turnbull Co-authored-by: kristinmerbach <78749008+kristinmerbach@users.noreply.github.com> Co-authored-by: Alec Turnbull --- app/views/layouts/single_column.html.erb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/views/layouts/single_column.html.erb b/app/views/layouts/single_column.html.erb index 70ab0b447e7..8ee808dc695 100644 --- a/app/views/layouts/single_column.html.erb +++ b/app/views/layouts/single_column.html.erb @@ -10,10 +10,6 @@ <%= stylesheet_link_tag "application", :media => "all" %> <%= javascript_include_tag "application" %> -<<<<<<< HEAD -======= - ->>>>>>> b55bb12973 (revert temp changes for design review to trunk) <%= stylesheet_link_tag "sponsored_benefits/application", :media => "all" %> <%= javascript_include_tag "sponsored_benefits/application" %> <%= javascript_pack_tag ENV['CLIENT'] %> From 2f1c34067b4abae56d30605ff5b76fc49319e01e Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Thu, 29 Feb 2024 12:35:15 -0800 Subject: [PATCH 05/13] personal information page redo --- app/helpers/portal_header_helper.rb | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/app/helpers/portal_header_helper.rb b/app/helpers/portal_header_helper.rb index 2317db8b635..34e71d3fb51 100644 --- a/app/helpers/portal_header_helper.rb +++ b/app/helpers/portal_header_helper.rb @@ -13,6 +13,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-exchange-admin.png', "   I'm an Admin", + "Admin icon", main_app.exchanges_hbx_profiles_root_path, class: "portal" ) @@ -20,6 +21,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", + "Expert icon", get_broker_profile_path, class: "portal" ) @@ -27,6 +29,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Trained Expert", + "Expert icon", main_app.home_exchanges_agents_path, class: "portal" ) @@ -35,6 +38,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", + "Broker icon", get_broker_profile_path, class: "portal" ) @@ -42,6 +46,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "  I'm a General Agency", + "Expert icon", benefit_sponsors.profiles_general_agencies_general_agency_profile_path(id: current_user.person.general_agency_staff_roles.first.benefit_sponsors_general_agency_profile_id), class: "portal" ) @@ -52,6 +57,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-business-owner.png', "   I'm an Employer", + "Employer icon", employer_profile_path, class: "portal" ) @@ -59,6 +65,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", + "Expert icon", get_broker_profile_path, class: "portal" ) @@ -67,6 +74,7 @@ def portal_display_name(controller) portal_link_with_image( exchange_icon_path('icon-individual.png'), "   I'm an Employee", + "Employee icon", main_app.family_account_path, class: "portal" ) @@ -77,6 +85,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-family.png', "   Individual and Family", + "Family icon", main_app.family_account_path, class: "portal" ) @@ -84,6 +93,7 @@ def portal_display_name(controller) portal_link_with_image_and_no_navigation( 'icons/icon-family.png', "   Individual and Family", + "Family icon", class: "portal" ) end @@ -92,6 +102,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", + "Expert icon", get_broker_profile_path, class: "portal" ) @@ -101,6 +112,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-business-owner.png', "   I'm an Employer", + "Employer icon", benefit_sponsors.profiles_employers_employer_profile_path(id: current_user.person.active_employer_staff_roles.first.benefit_sponsor_employer_profile_id, :tab => 'home'), class: "portal" ) @@ -108,6 +120,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a General Agency", + "Expert icon", benefit_sponsors.profiles_general_agencies_general_agency_profile_path(id: current_user.person.active_general_agency_staff_roles.first.benefit_sponsors_general_agency_profile_id), class: "portal" ) @@ -116,6 +129,7 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-business-owner.png', "   I'm an Employer", + "Employer icon", benefit_sponsors.profiles_employers_employer_profile_path(id: current_user.person.active_employer_staff_roles.first.benefit_sponsor_employer_profile_id, :tab => 'home'), class: "portal" ) @@ -131,16 +145,16 @@ def translated_header_portal_link(*args) end end - def portal_link_with_image_and_no_navigation(image_path, link_text, *args) + def portal_link_with_image_and_no_navigation(image_path, link_text, alt = link_text, *args) content_tag("a", *args) do - concat image_tag(image_path) + concat image_tag(image_path, alt: alt) concat sanitize(link_text) end end def portal_link_with_image(image_path, link_text,*args) link_to(*args) do - concat image_tag(image_path) + concat image_tag(image_path, alt: alt) concat sanitize(link_text) end end From 4925edf8610bae34259dbbd74c25e1da243d5121 Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Thu, 27 Jun 2024 08:11:15 -0700 Subject: [PATCH 06/13] started enrollment submitted page --- app/javascript/css/main.scss | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/javascript/css/main.scss b/app/javascript/css/main.scss index ffd2e2b4ffa..35f39379c20 100644 --- a/app/javascript/css/main.scss +++ b/app/javascript/css/main.scss @@ -177,6 +177,14 @@ dl.parent.weight-n { } } +dl.parent.weight-n { + dt { + font-weight: 400; + color: var(--default-font-color); + padding-right: 2ch; + } +} + #personal_info { input:not([type='checkbox']):not([type='radio']), select, From 77d21999b3183dc4b395a3eaf289cf5263357a4a Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Tue, 2 Jul 2024 07:10:10 -0700 Subject: [PATCH 07/13] plan shopping page visuals work --- app/javascript/css/main.scss | 5 +++++ app/views/insured/plan_shoppings/_plan_details.html.erb | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/javascript/css/main.scss b/app/javascript/css/main.scss index 35f39379c20..809aec38645 100644 --- a/app/javascript/css/main.scss +++ b/app/javascript/css/main.scss @@ -576,3 +576,8 @@ a.disabled { @extend .font-weight-bold; } } + +.filter-input-block legend.bb, .sort-area legend { + padding-bottom: ($spacer / 2); + border-bottom: 1px solid var(--body-divider); +} diff --git a/app/views/insured/plan_shoppings/_plan_details.html.erb b/app/views/insured/plan_shoppings/_plan_details.html.erb index 7642084c66d..b77d5dd887c 100644 --- a/app/views/insured/plan_shoppings/_plan_details.html.erb +++ b/app/views/insured/plan_shoppings/_plan_details.html.erb @@ -300,8 +300,6 @@ } function compareResults() { - console.log(plansToCompareArray) - console.log(uniqueValues(plansToCompareArray)) uri = document.getElementById('compareBtn').dataset.uri; $.ajax({ type: "GET", @@ -315,8 +313,6 @@ } function uniquePlans(ids) { - console.log(ids); - console.log(uniqueValues(ids)); uniqueValues(ids) } From 7090c805cdc069d1e115f7c0d0ac2e4517c054f7 Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Wed, 3 Jul 2024 07:02:12 -0700 Subject: [PATCH 08/13] more plan shopping styling --- app/assets/javascripts/plan_shopping.js.erb | 2 -- app/views/insured/plan_shoppings/_plan_details.html.erb | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/plan_shopping.js.erb b/app/assets/javascripts/plan_shopping.js.erb index 11e996dbfa6..8a9f8681ec3 100644 --- a/app/assets/javascripts/plan_shopping.js.erb +++ b/app/assets/javascripts/plan_shopping.js.erb @@ -144,8 +144,6 @@ function maybeAddComparisonPlan(cb) { } function doPlanComparison(action_uri) { - console.log(plansToCompareArray); - console.log(uniqueValues(plansToCompareArray)); $.ajax({ type: "GET", url: action_uri, diff --git a/app/views/insured/plan_shoppings/_plan_details.html.erb b/app/views/insured/plan_shoppings/_plan_details.html.erb index b77d5dd887c..39474ec37bf 100644 --- a/app/views/insured/plan_shoppings/_plan_details.html.erb +++ b/app/views/insured/plan_shoppings/_plan_details.html.erb @@ -300,6 +300,8 @@ } function compareResults() { + console.log(plansToCompareArray) + console.log(uniqueValues(plansToCompareArray)) uri = document.getElementById('compareBtn').dataset.uri; $.ajax({ type: "GET", From 3c526c635675727066d4e33be1c4d3150f549570 Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Tue, 9 Jul 2024 09:30:25 -0700 Subject: [PATCH 09/13] minor fixes --- app/helpers/portal_header_helper.rb | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/app/helpers/portal_header_helper.rb b/app/helpers/portal_header_helper.rb index 34e71d3fb51..20e6a9bc811 100644 --- a/app/helpers/portal_header_helper.rb +++ b/app/helpers/portal_header_helper.rb @@ -13,7 +13,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-exchange-admin.png', "   I'm an Admin", - "Admin icon", main_app.exchanges_hbx_profiles_root_path, class: "portal" ) @@ -21,7 +20,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", - "Expert icon", get_broker_profile_path, class: "portal" ) @@ -29,7 +27,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Trained Expert", - "Expert icon", main_app.home_exchanges_agents_path, class: "portal" ) @@ -38,7 +35,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", - "Broker icon", get_broker_profile_path, class: "portal" ) @@ -46,7 +42,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "  I'm a General Agency", - "Expert icon", benefit_sponsors.profiles_general_agencies_general_agency_profile_path(id: current_user.person.general_agency_staff_roles.first.benefit_sponsors_general_agency_profile_id), class: "portal" ) @@ -57,7 +52,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-business-owner.png', "   I'm an Employer", - "Employer icon", employer_profile_path, class: "portal" ) @@ -65,7 +59,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", - "Expert icon", get_broker_profile_path, class: "portal" ) @@ -74,7 +67,6 @@ def portal_display_name(controller) portal_link_with_image( exchange_icon_path('icon-individual.png'), "   I'm an Employee", - "Employee icon", main_app.family_account_path, class: "portal" ) @@ -85,7 +77,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-family.png', "   Individual and Family", - "Family icon", main_app.family_account_path, class: "portal" ) @@ -93,7 +84,6 @@ def portal_display_name(controller) portal_link_with_image_and_no_navigation( 'icons/icon-family.png', "   Individual and Family", - "Family icon", class: "portal" ) end @@ -102,7 +92,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a Broker", - "Expert icon", get_broker_profile_path, class: "portal" ) @@ -112,7 +101,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-business-owner.png', "   I'm an Employer", - "Employer icon", benefit_sponsors.profiles_employers_employer_profile_path(id: current_user.person.active_employer_staff_roles.first.benefit_sponsor_employer_profile_id, :tab => 'home'), class: "portal" ) @@ -120,7 +108,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-expert.png', "   I'm a General Agency", - "Expert icon", benefit_sponsors.profiles_general_agencies_general_agency_profile_path(id: current_user.person.active_general_agency_staff_roles.first.benefit_sponsors_general_agency_profile_id), class: "portal" ) @@ -129,7 +116,6 @@ def portal_display_name(controller) portal_link_with_image( 'icons/icon-business-owner.png', "   I'm an Employer", - "Employer icon", benefit_sponsors.profiles_employers_employer_profile_path(id: current_user.person.active_employer_staff_roles.first.benefit_sponsor_employer_profile_id, :tab => 'home'), class: "portal" ) @@ -145,16 +131,16 @@ def translated_header_portal_link(*args) end end - def portal_link_with_image_and_no_navigation(image_path, link_text, alt = link_text, *args) + def portal_link_with_image_and_no_navigation(image_path, link_text, *args) content_tag("a", *args) do - concat image_tag(image_path, alt: alt) + concat image_tag(image_path) concat sanitize(link_text) end end - def portal_link_with_image(image_path, link_text,*args) + def portal_link_with_image(image_path, *args) link_to(*args) do - concat image_tag(image_path, alt: alt) + concat image_tag(image_path) concat sanitize(link_text) end end From 946fc7151e58c941ceeb1d4ed5d2af4ed4e177f0 Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Tue, 9 Jul 2024 09:32:08 -0700 Subject: [PATCH 10/13] clean up from rebase --- app/helpers/portal_header_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/portal_header_helper.rb b/app/helpers/portal_header_helper.rb index 20e6a9bc811..476e432ac7b 100644 --- a/app/helpers/portal_header_helper.rb +++ b/app/helpers/portal_header_helper.rb @@ -131,7 +131,7 @@ def translated_header_portal_link(*args) end end - def portal_link_with_image_and_no_navigation(image_path, link_text, *args) + def portal_link_with_image_and_no_navigation(image_path, *args) content_tag("a", *args) do concat image_tag(image_path) concat sanitize(link_text) From b4542131ede96289d0f8dfcdda9e55864eb73505 Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Wed, 10 Jul 2024 08:30:05 -0700 Subject: [PATCH 11/13] receipt page translations --- app/helpers/portal_header_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/portal_header_helper.rb b/app/helpers/portal_header_helper.rb index 476e432ac7b..2317db8b635 100644 --- a/app/helpers/portal_header_helper.rb +++ b/app/helpers/portal_header_helper.rb @@ -131,14 +131,14 @@ def translated_header_portal_link(*args) end end - def portal_link_with_image_and_no_navigation(image_path, *args) + def portal_link_with_image_and_no_navigation(image_path, link_text, *args) content_tag("a", *args) do concat image_tag(image_path) concat sanitize(link_text) end end - def portal_link_with_image(image_path, *args) + def portal_link_with_image(image_path, link_text,*args) link_to(*args) do concat image_tag(image_path) concat sanitize(link_text) From 5b383c868c0c749bef1061ce7dae6f692bdba90a Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Sat, 20 Jul 2024 11:49:32 -0700 Subject: [PATCH 12/13] main scss rebase issues --- app/javascript/css/main.scss | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/app/javascript/css/main.scss b/app/javascript/css/main.scss index 809aec38645..f2f8e92ec78 100644 --- a/app/javascript/css/main.scss +++ b/app/javascript/css/main.scss @@ -177,14 +177,6 @@ dl.parent.weight-n { } } -dl.parent.weight-n { - dt { - font-weight: 400; - color: var(--default-font-color); - padding-right: 2ch; - } -} - #personal_info { input:not([type='checkbox']):not([type='radio']), select, @@ -325,9 +317,6 @@ ul.list-right-section { padding-left: $spacer / 2; } - .sm-hide { - display: none; - } } // large breakpoint @@ -556,26 +545,6 @@ a.disabled { font-weight: 600; } -.nav-stacked li { - padding: $spacer; - margin-bottom: ($spacer * .25); - width: 100%; - background: var(--grey-010); - color: var(--info-color); - a { - color: var(--info-color); - } - &.activer { - background: var(--info-color); - color: var(--grey-000); - a { - color: var(--grey-000); - } - } - &.active { - @extend .font-weight-bold; - } -} .filter-input-block legend.bb, .sort-area legend { padding-bottom: ($spacer / 2); From 6dcdf4f4f549497ada0eb7b56432925cca6755b9 Mon Sep 17 00:00:00 2001 From: Kristin Merbach Date: Sat, 20 Jul 2024 11:57:54 -0700 Subject: [PATCH 13/13] receipt page pr comments --- .../_individual_coverage_information.html.erb | 2 +- .../plan_shoppings/receipt.en.html.erb | 2 +- .../insured/plan_shoppings/show.html.erb | 4 +- app/views/shared/_comparison.html.erb | 166 +++++++++--------- db/seedfiles/translations/en/me/plan.rb | 1 + 5 files changed, 88 insertions(+), 87 deletions(-) diff --git a/app/views/insured/plan_shoppings/_individual_coverage_information.html.erb b/app/views/insured/plan_shoppings/_individual_coverage_information.html.erb index e811bcdf919..610c04894f4 100644 --- a/app/views/insured/plan_shoppings/_individual_coverage_information.html.erb +++ b/app/views/insured/plan_shoppings/_individual_coverage_information.html.erb @@ -126,7 +126,7 @@ <% end %> <% end %> - + <%= l10n("totals") %> <%= number_to_currency(@plan.total_premium) %> <% if osse_eligible %> diff --git a/app/views/insured/plan_shoppings/receipt.en.html.erb b/app/views/insured/plan_shoppings/receipt.en.html.erb index 711740ce933..ac449ada898 100644 --- a/app/views/insured/plan_shoppings/receipt.en.html.erb +++ b/app/views/insured/plan_shoppings/receipt.en.html.erb @@ -20,7 +20,7 @@ <%= render partial: "insured/plan_shoppings/pay_now", locals: { source: "Plan Shopping", hbx_enrollment: @enrollment }%>
    -