if(!r||void 0===n&&!c&&!l)return new Error("property and value are required");let a=o||globalThis,s=a?.[r],u={};if(void 0!==n)u.value=n;else{if(c){let e=t(c);e&&(u.get=e)}if(l){let e=t(l);e&&(u.set=e)}}let p={...u,enumerable:i||!1,configurable:!1};void 0!==n&&(p.writable=!1);try{Object.defineProperty(a,r,p)}catch(e){return e instanceof TypeError?s:e}return s}function t(e,t){return"function"==typeof e?e:!0===e?.async&&"function"==typeof e.func?t?async function(t){return e.func(t)}:async function(){return e.func()}:"function"==typeof e?.func?e.func:void 0}try{e({property:"strictDefine",value:e})}catch{}try{e({property:"defineStrictObject",value:r})}catch{}try{e({property:"defineStrictMethod",value:n})}catch{}var o=["toString","toLocaleString","valueOf","constructor","prototype"];function r(t){let{context:n,property:c,propertiesToExclude:l=[],skipPrototype:a=!1,hardenPrototypePropertiesToExclude:s=[]}=t;if(!c)return new Error("property is required");let u=(n||globalThis)[c],p={},f=i(n,c);u&&("object"==typeof u||"function"==typeof u)&&Reflect.ownKeys(u).forEach(t=>{if(!l.includes(t)&&!o.includes(t)){let o=i(u,t);if(o&&(o.writable||o.configurable)){let{value:r,get:n,set:i,enumerable:c=!1}=o,l={};void 0!==r?l.value=r:n?l.get=n:i&&(l.set=i);try{let o=e({context:u,property:t,...l,enumerable:c});p[t]=o}catch(e){if(!(e instanceof TypeError))throw e;try{p[t]=o.value||o.get||o.set}catch{}}}}});let d={originalObject:u,originalProperties:p};if(!a&&void 0!==u?.prototype){let e=r({context:u,property:"prototype",propertiesToExclude:s,skipPrototype:!0});e instanceof Error||(d.originalPrototype=e?.originalObject,d.originalPrototypeProperties=e?.originalProperties)}return e({context:n,property:c,value:u,enumerable:f?.enumerable}),d}function n(t,o){let r=(o||globalThis)[t],n=i(o||globalThis,t);return r&&n&&(n.writable||n.configurable)?(Object.freeze(r),e({context:globalThis,property:t,value:r})):r}function i(e,t){if(e&&t)try{return Reflect.getOwnPropertyDescriptor(e,t)}catch{return}}function c(e){if("string"!=typeof e)return e;try{return decodeURIComponent(e).toLowerCase().trim()}catch{return e.toLowerCase().trim()}}function l(e,t){let o="";if("string"==typeof e)o=e.split("=")[0]?.trim()||"";else{if(!e||"string"!=typeof e.name)return!1;o=e.name}return t.has(c(o)||"")}function a(e,t){let o;return o="string"==typeof e?e.split(";").map(e=>e.trim()).filter(e=>e.length>0):e||[],o.filter(e=>!l(e,t))}var s=null;function u(){return null===s&&(s=typeof Document>"u"?void 0:Object.getOwnPropertyDescriptor(Document.prototype,"cookie")),s}function p(t,o){if(!globalThis?.cookieStore)return;let r=globalThis.cookieStore.get.bind(globalThis.cookieStore),n=globalThis.cookieStore.getAll.bind(globalThis.cookieStore),i=globalThis.cookieStore.set.bind(globalThis.cookieStore),c=globalThis.cookieStore.delete.bind(globalThis.cookieStore);return e({context:globalThis.CookieStore.prototype,property:"get",value:async function(e){return l(("string"==typeof e?e:e.name)||"",t)?null:r.call(this,e)},enumerable:!0}),e({context:globalThis.CookieStore.prototype,property:"getAll",value:async function(){return a(await n.apply(this,Array.from(arguments)),t)},enumerable:!0}),e({context:globalThis.CookieStore.prototype,property:"set",value:async function(){let e=Array.from(arguments);if(!l(1===e.length?e[0].name:e[0],t))return i.apply(this,e);o&&console.warn(o)},enumerable:!0}),e({context:globalThis.CookieStore.prototype,property:"delete",value:async function(){let e=Array.from(arguments);if(!l(1===e.length?e[0].name:e[0],t))return c.apply(this,e)},enumerable:!0}),e({context:globalThis.cookieStore,property:"prototype",value:globalThis.CookieStore.prototype,enumerable:!1}),e({context:globalThis,property:"cookieStore",value:globalThis.cookieStore,enumerable:!0}),{get:r,getAll:n,set:i,delete:c}}var f=["TextEncoder","TextDecoder","XMLHttpRequestEventTarget","EventTarget","URL","JSON","Reflect","Object","Array","Map","Set","WeakMap","WeakSet","Promise","Symbol","Error"],d=["addEventListener","removeEventListener","dispatchEvent","encodeURI","encodeURIComponent","decodeURI","decodeURIComponent"];const y=(e,t)=>{try{const o=t?t.get.call(document):document.cookie;return o.split(";").map(e=>e.trim()).filter(t=>t?.startsWith(e))[0]?.split("=")[1]}catch(e){return""}},g=(e="",t="",o="/")=>`${e}=; ${t?`domain=${t};`:""} max-age=0; path=${o}; expires=Thu, 01 Jan 1970 00:00:01 GMT`;function m(){(function(){if("undefined"!=typeof window){const e=performance.getEntriesByType("navigation")[0];return"back_forward"===(e?.type||"")}return!1})()&&function(){const{counter:e}=function(){const e=b("getItem");if(e){const[t,o]=e.split("-"),r=o?parseInt(o,10):0;if(r>=3){const e=t?Number(t):0;if(Date.now()-e>6e4)return{counter:0}}return{counter:r}}return{counter:0}}();e<3?(!function(e=1){b("setItem",`${Date.now()}-${e}`)}(e+1),window.location.reload()):console.error("ATS: Max reload attempts reached")}()}function b(e,t){try{return sessionStorage[e]("reload",t||"")}catch(e){console.error("ATS: Error calling sessionStorage:",e)}}const h="client-session-bind",v="sec-fetch-unsupported",{experiments:w}=window.viewerModel,T=[h,"client-binding",v,"svSession","smSession","server-session-bind","wixSession2","wixSession3"].map(e=>e.toLowerCase()),{cookie:S}=function(t,o){let r=new Set(t);return e({context:document,property:"cookie",set:{func:e=>function(e,t,o,r){let n=u(),i=c(t.split(";")[0]||"")||"";[...o].every(e=>!i.startsWith(e.toLowerCase()))&&n?.set?n.set.call(e,t):r&&console.warn(r)}(document,e,r,o)},get:{func:()=>function(e,t){let o=u();if(!o?.get)throw new Error("Cookie descriptor or getter not available");return a(o.get.call(e),t).join("; ")}(document,r)},enumerable:!0}),{cookieStore:p(r,o),cookie:u()}}(T),k="tbReady",x="security_overrideGlobals",{experiments:E,siteFeaturesConfigs:C,accessTokensUrl:P}=window.viewerModel,R=P,M={},O=(()=>{const e=y(h,S);if(w["specs.thunderbolt.browserCacheReload"]){y(v,S)||e?b("removeItem"):m()}return(()=>{const e=g(h),t=g(h,location.hostname);S.set.call(document,e),S.set.call(document,t)})(),e})();O&&(M["client-binding"]=O);const D=fetch;addEventListener(k,function e(t){const{logger:o}=t.detail;try{window.tb.init({fetch:D,fetchHeaders:M})}catch(e){const t=new Error("TB003");o.meter(`${x}_${t.message}`,{paramsOverrides:{errorType:x,eventString:t.message}}),window?.viewerModel?.mode.debug&&console.error(e)}finally{removeEventListener(k,e)}}),E["specs.thunderbolt.hardenFetchAndXHR"]||(window.fetchDynamicModel=()=>C.sessionManager.isRunningInDifferentSiteContext?Promise.resolve({}):fetch(R,{credentials:"same-origin",headers:M}).then(function(e){if(!e.ok)throw new Error(`[${e.status}]${e.statusText}`);return e.json()}),window.dynamicModelPromise=window.fetchDynamicModel())})(); //# sourceMappingURL=https://static.parastorage.com/services/wix-thunderbolt/dist/handleAccessTokens.inline.4f2f9a53.bundle.min.js.map
top of page

வெளிப்புற ஹெப்ரைடுகளில் தயாரிக்கப்பட்டது...

Ceramic button

Ceramic button

£8.00Price

Handcrafted ceramic buttons inspired by nature, especially the sea!

2.9cm diameter

Quantity
Subscribe to our email list for all the latest products and occasional special offers! 

Thanks for subscribing!

Sustainability:

Wool is naturally good for our planet, biodegradable and long lasting

Customer Centric:

Every order is packed with love and care and I respond to every query personally

Independent:

A true family business, everyone gets involved! 

Packing:

I reuse or buy biodegradable/ recycled packaging as much as possible 

  • Instagram
  • Facebook

©2019 created by Western Isles Designs

பார்வை:     22a கிராஸ்போஸ்ட்

             Lochs

             லூயிஸ் தீவு

             HS2 9NP

அழையுங்கள்: 07833335186

மின்னஞ்சல்:

westernislesdesigns@yahoo.com

bottom of page